OpenSceneGraph/src/osgPlugins/CMakeLists.txt
Robert Osfield b24353b12c From Rafa Gaitan and Jorge Izquierdo, build support for Android NDK.
"- In order to build against GLES1 we execute:
$ mkdir build_android_gles1
$ cd build_android_gles1
$ cmake .. -DOSG_BUILD_PLATFORM_ANDROID=ON -DDYNAMIC_OPENTHREADS=OFF
-DDYNAMIC_OPENSCENEGRAPH=OFF -DANDROID_NDK=<path_to_android_ndk>/
-DOSG_GLES1_AVAILABLE=ON -DOSG_GL1_AVAILABLE=OFF
-DOSG_GL2_AVAILABLE=OFF -DOSG_GL_DISPLAYLISTS_AVAILABLE=OFF -DJ=2
-DOSG_CPP_EXCEPTIONS_AVAILABLE=OFF
$ make
 If all is correct you will have and static OSG inside:
build_android_gles1/bin/ndk/local/armeabi.

- GLES2 is not tested/proved, but I think it could be possible build
it with the correct cmake flags.
- The flag -DJ=2 is used to pass to the ndk-build the number of
processors to speed up the building.
- make install is not yet supported."
2011-03-08 16:35:37 +00:00

260 lines
4.6 KiB
CMake

#---------------------------------------------------
# OSG CMAKE SUPPORT
# (C) by Michael Wagner, mtw@shared-reality.com 2005
# (C) Eric Wing, Luigi Calori and Robert Osfield 2006-2007
#---------------------------------------------------
PROJECT(OSG_PLUGINS_MASTER)
IF(NOT DYNAMIC_OPENSCENEGRAPH)
ADD_DEFINITIONS(-DOSG_LIBRARY_STATIC)
ENDIF()
IF(NOT MSVC)
SET(LIBRARY_OUTPUT_PATH "${LIBRARY_OUTPUT_PATH}/${OSG_PLUGINS}")
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${OSG_PLUGINS}")
ENDIF()
SET(CMAKE_SHARED_MODULE_PREFIX ${OSG_PLUGIN_PREFIX})
IF(MSVC80 OR MSVC90)
IF(NOT OSG_MSVC_GENERATE_PLUGINS_AND_WRAPPERS_MANIFESTS)
SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /MANIFEST:NO")
ENDIF()
ENDIF()
SET(TARGET_DEFAULT_PREFIX "osgdb_")
SET(TARGET_DEFAULT_LABEL_PREFIX "Plugins")
SET(TARGET_COMMON_LIBRARIES
OpenThreads
osg
osgDB
osgUtil
)
############################################################
#
# NodeKit/Psudo loader plugins
#
ADD_SUBDIRECTORY(osga)
ADD_SUBDIRECTORY(rot)
ADD_SUBDIRECTORY(scale)
ADD_SUBDIRECTORY(trans)
ADD_SUBDIRECTORY(normals)
ADD_SUBDIRECTORY(revisions)
ADD_SUBDIRECTORY(view)
ADD_SUBDIRECTORY(shadow)
ADD_SUBDIRECTORY(terrain)
############################################################
#
# Main native plugins
#
ADD_SUBDIRECTORY(osg)
ADD_SUBDIRECTORY(ive)
############################################################
#
# Viewer plugins
#
ADD_SUBDIRECTORY(cfg)
############################################################
#
# Shader plugins
#
ADD_SUBDIRECTORY(glsl)
############################################################
#
# Image plugins
#
ADD_SUBDIRECTORY(rgb)
ADD_SUBDIRECTORY(bmp)
ADD_SUBDIRECTORY(pnm)
ADD_SUBDIRECTORY(dds)
ADD_SUBDIRECTORY(tga)
ADD_SUBDIRECTORY(hdr)
ADD_SUBDIRECTORY(dot)
ADD_SUBDIRECTORY(vtf)
IF(JPEG_FOUND)
ADD_SUBDIRECTORY(jpeg)
ENDIF()
IF(JASPER_FOUND)
ADD_SUBDIRECTORY(jp2)
ENDIF()
IF(OPENEXR_FOUND AND ZLIB_FOUND)
ADD_SUBDIRECTORY(exr)
ENDIF()
IF(GIFLIB_FOUND)
ADD_SUBDIRECTORY(gif)
ENDIF()
IF(PNG_FOUND)
ADD_SUBDIRECTORY(png)
ENDIF()
IF(TIFF_FOUND)
ADD_SUBDIRECTORY(tiff)
ENDIF()
IF(GDAL_FOUND)
ADD_SUBDIRECTORY(gdal)
ADD_SUBDIRECTORY(ogr)
ENDIF()
############################################################
#
# 3D Image plugins
#
IF(DCMTK_FOUND AND ZLIB_FOUND)
ADD_SUBDIRECTORY(dicom)
ELSE()
IF(ITK_FOUND)
ADD_SUBDIRECTORY(dicom)
ENDIF()
ENDIF()
############################################################
#
# 3rd party 3d plugins
#
ADD_SUBDIRECTORY(3dc)
ADD_SUBDIRECTORY(p3d)
IF(CURL_FOUND)
ADD_SUBDIRECTORY(curl)
ENDIF()
IF(ZLIB_FOUND)
ADD_SUBDIRECTORY(gz)
ENDIF()
IF(NOT OSG_GLES1_AVAILABLE AND NOT OSG_GLES2_AVAILABLE)
IF(INVENTOR_FOUND)
ADD_SUBDIRECTORY(Inventor)
ENDIF()
IF(PERFORMER_FOUND)
ADD_SUBDIRECTORY(pfb)
ENDIF()
ENDIF()
IF(OPENVRML_FOUND)
ADD_SUBDIRECTORY(vrml)
ENDIF()
IF(COLLADA_FOUND)
ADD_SUBDIRECTORY(dae)
ENDIF()
IF(FBX_FOUND)
ADD_SUBDIRECTORY(fbx)
ENDIF()
ADD_SUBDIRECTORY(lwo)
ADD_SUBDIRECTORY(dw)
ADD_SUBDIRECTORY(bvh)
ADD_SUBDIRECTORY(x)
ADD_SUBDIRECTORY(dxf)
ADD_SUBDIRECTORY(OpenFlight)
# ADD_SUBDIRECTORY(flt)
ADD_SUBDIRECTORY(geo)
ADD_SUBDIRECTORY(obj)
ADD_SUBDIRECTORY(pic)
ADD_SUBDIRECTORY(stl)
IF(NOT ANDROID)
ADD_SUBDIRECTORY(3ds)
ENDIF()
ADD_SUBDIRECTORY(ac)
ADD_SUBDIRECTORY(pov)
ADD_SUBDIRECTORY(logo)
ADD_SUBDIRECTORY(lws)
ADD_SUBDIRECTORY(md2)
ADD_SUBDIRECTORY(osgtgz)
ADD_SUBDIRECTORY(tgz)
ADD_SUBDIRECTORY(shp)
ADD_SUBDIRECTORY(txf)
ADD_SUBDIRECTORY(bsp)
ADD_SUBDIRECTORY(mdl)
IF(OSG_CPP_EXCEPTIONS_AVAILABLE)
ADD_SUBDIRECTORY(ply)
ADD_SUBDIRECTORY(txp)
ENDIF()
IF(XINE_FOUND)
ADD_SUBDIRECTORY(xine)
ENDIF()
IF(FFMPEG_FOUND)
ADD_SUBDIRECTORY(ffmpeg)
ENDIF()
IF(DIRECTSHOW_FOUND)
ADD_SUBDIRECTORY(directshow)
ENDIF()
# IF(OPENAL_FOUND)
# ADD_SUBDIRECTORY(OpenAL)
# ENDIF()
IF(APPLE AND NOT ANDROID)
ADD_SUBDIRECTORY(imageio)
ENDIF()
IF(QUICKTIME_FOUND)
ADD_SUBDIRECTORY(quicktime)
ENDIF()
IF(QTKIT_FOUND)
ADD_SUBDIRECTORY(QTKit)
ENDIF()
IF(NVTT_FOUND)
ADD_SUBDIRECTORY(nvtt)
ENDIF()
IF(FREETYPE_FOUND)
ADD_SUBDIRECTORY(freetype)
ENDIF()
IF (QT4_FOUND)
ADD_SUBDIRECTORY(qfont)
ENDIF()
IF(ZLIB_FOUND)
ADD_SUBDIRECTORY(zip)
ENDIF()
IF(RSVG_FOUND)
ADD_SUBDIRECTORY(svg)
ENDIF()
IF(POPPLER_FOUND)
ADD_SUBDIRECTORY(pdf)
ENDIF()
IF(LIBVNCSERVER_FOUND)
ADD_SUBDIRECTORY(vnc)
ENDIF()
ADD_SUBDIRECTORY(pvr)
##########to get all the variables of Cmake
#GET_CMAKE_PROPERTY(MYVARS VARIABLES)
#FOREACH(myvar ${MYVARS})
# FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/AllVariables.txt
# "${myvar} -->${${myvar}}<-\n"
# )
#ENDFOREACH(myvar)