cmake_minimum_required( VERSION 2.8 )
PROJECT( Assimp )
-OPTION(BUILD_SHARED_LIBS "Build package with shared libraries." ON)
+# All supported options ###############################################
+OPTION( BUILD_SHARED_LIBS
+ "Build package with shared libraries."
+ ON
+)
+OPTION( ASSIMP_DOUBLE_PRECISION
+ "Set to ON to enable double precision processing"
+ OFF
+)
+OPTION( ASSIMP_OPT_BUILD_PACKAGES
+ "Set to ON to generate CPack configuration files and packaging targets"
+ OFF
+)
+OPTION( ASSIMP_ANDROID_JNIIOSYSTEM
+ "Android JNI IOSystem support is active"
+ OFF
+)
+OPTION( ASSIMP_NO_EXPORT
+ "Disable Assimp's export functionality."
+ OFF
+)
+OPTION( ASSIMP_BUILD_ZLIB
+ "Build your own zlib"
+ OFF
+)
+option( ASSIMP_BUILD_ASSIMP_TOOLS
+ "If the supplementary tools for Assimp are built in addition to the library."
+ ON
+)
+option ( ASSIMP_BUILD_SAMPLES
+ "If the official samples are built as well (needs Glut)."
+ OFF
+)
+OPTION ( ASSIMP_BUILD_TESTS
+ "If the test suite for Assimp is built in addition to the library."
+ ON
+)
+IF(MSVC)
+ OPTION( ASSIMP_INSTALL_PDB
+ "Install MSVC debug files."
+ ON
+ )
+ENDIF(MSVC)
+
IF(NOT BUILD_SHARED_LIBS)
SET(LINK_SEARCH_START_STATIC TRUE)
ENDIF(NOT BUILD_SHARED_LIBS)
SET(GIT_COMMIT_HASH 0)
ENDIF(NOT GIT_COMMIT_HASH)
-OPTION(ASSIMP_DOUBLE_PRECISION
- "Set to ON to enable double precision processing"
- OFF
-)
-
IF(ASSIMP_DOUBLE_PRECISION)
ADD_DEFINITIONS(-DAI_DOUBLE_PRECISION)
ENDIF(ASSIMP_DOUBLE_PRECISION)
${CMAKE_CURRENT_BINARY_DIR}/include
)
-OPTION(ASSIMP_OPT_BUILD_PACKAGES "Set to ON to generate CPack configuration files and packaging targets" OFF)
SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake-modules" )
SET(LIBASSIMP_COMPONENT "libassimp${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}.${ASSIMP_VERSION_PATCH}" )
SET(LIBASSIMP-DEV_COMPONENT "libassimp${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}.${ASSIMP_VERSION_PATCH}-dev" )
SET(CPACK_COMPONENTS_ALL assimp-bin ${LIBASSIMP_COMPONENT} ${LIBASSIMP-DEV_COMPONENT} assimp-dev)
SET(ASSIMP_LIBRARY_SUFFIX "" CACHE STRING "Suffix to append to library names")
-OPTION(ASSIMP_ANDROID_JNIIOSYSTEM "Android JNI IOSystem support is active" OFF)
-
# Workaround to be able to deal with compiler bug "Too many sections" with mingw.
IF( CMAKE_COMPILER_IS_MINGW )
ADD_DEFINITIONS(-DASSIMP_BUILD_NO_IFC_IMPORTER )
add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
ENDIF()
-
-
# cmake configuration files
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/assimp-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimp-config.cmake" @ONLY IMMEDIATE)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/assimp-config-version.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimp-config-version.cmake" @ONLY IMMEDIATE)
FIND_PACKAGE( DirectX )
-OPTION ( ASSIMP_NO_EXPORT
- "Disable Assimp's export functionality."
- OFF
-)
-
IF( CMAKE_COMPILER_IS_GNUCXX )
SET(LIBSTDC++_LIBRARIES -lstdc++)
ENDIF( CMAKE_COMPILER_IS_GNUCXX )
# Search for external dependencies, and build them from source if not found
# Search for zlib
-OPTION(ASSIMP_BUILD_ZLIB
- "Build your own zlib"
- OFF
-)
-
IF ( NOT ASSIMP_BUILD_ZLIB )
find_package(ZLIB)
ENDIF( NOT ASSIMP_BUILD_ZLIB )
ADD_SUBDIRECTORY( code/ )
-option ( ASSIMP_BUILD_ASSIMP_TOOLS
- "If the supplementary tools for Assimp are built in addition to the library."
- ON
-)
IF ( ASSIMP_BUILD_ASSIMP_TOOLS )
IF ( WIN32 )
option ( ASSIMP_BUILD_ASSIMP_VIEW "If the Assimp view tool is built. (requires DirectX)" ${DirectX_FOUND} )
ENDIF ( Qt4_FOUND AND IL_FOUND AND OPENGL_FOUND)
ENDIF ( ASSIMP_BUILD_ASSIMP_TOOLS )
-option ( ASSIMP_BUILD_SAMPLES
- "If the official samples are built as well (needs Glut)."
- OFF
-)
IF ( ASSIMP_BUILD_SAMPLES)
IF ( WIN32 )
ADD_SUBDIRECTORY( samples/SimpleOpenGL/ )
ENDIF ( ASSIMP_BUILD_SAMPLES )
-OPTION ( ASSIMP_BUILD_TESTS
- "If the test suite for Assimp is built in addition to the library."
- ON
-)
-
IF ( ASSIMP_BUILD_TESTS )
ADD_SUBDIRECTORY( test/ )
ENDIF ( ASSIMP_BUILD_TESTS )
-IF(MSVC)
- OPTION ( ASSIMP_INSTALL_PDB
- "Install MSVC debug files."
- ON
- )
-ENDIF(MSVC)
-
# Generate a pkg-config .pc for the Assimp library.
CONFIGURE_FILE( "${PROJECT_SOURCE_DIR}/assimp.pc.in" "${PROJECT_BINARY_DIR}/assimp.pc" @ONLY )
INSTALL( FILES "${PROJECT_BINARY_DIR}/assimp.pc" DESTINATION ${ASSIMP_LIB_INSTALL_DIR}/pkgconfig/ COMPONENT ${LIBASSIMP-DEV_COMPONENT})