|
@@ -39,7 +39,50 @@ SET(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is required
|
|
cmake_minimum_required( VERSION 2.8 )
|
|
cmake_minimum_required( VERSION 2.8 )
|
|
PROJECT( Assimp )
|
|
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)
|
|
IF(NOT BUILD_SHARED_LIBS)
|
|
SET(LINK_SEARCH_START_STATIC TRUE)
|
|
SET(LINK_SEARCH_START_STATIC TRUE)
|
|
ENDIF(NOT BUILD_SHARED_LIBS)
|
|
ENDIF(NOT BUILD_SHARED_LIBS)
|
|
@@ -80,11 +123,6 @@ IF(NOT GIT_COMMIT_HASH)
|
|
SET(GIT_COMMIT_HASH 0)
|
|
SET(GIT_COMMIT_HASH 0)
|
|
ENDIF(NOT GIT_COMMIT_HASH)
|
|
ENDIF(NOT GIT_COMMIT_HASH)
|
|
|
|
|
|
-OPTION(ASSIMP_DOUBLE_PRECISION
|
|
|
|
- "Set to ON to enable double precision processing"
|
|
|
|
- OFF
|
|
|
|
-)
|
|
|
|
-
|
|
|
|
IF(ASSIMP_DOUBLE_PRECISION)
|
|
IF(ASSIMP_DOUBLE_PRECISION)
|
|
ADD_DEFINITIONS(-DAI_DOUBLE_PRECISION)
|
|
ADD_DEFINITIONS(-DAI_DOUBLE_PRECISION)
|
|
ENDIF(ASSIMP_DOUBLE_PRECISION)
|
|
ENDIF(ASSIMP_DOUBLE_PRECISION)
|
|
@@ -105,15 +143,12 @@ include_directories(
|
|
${CMAKE_CURRENT_BINARY_DIR}/include
|
|
${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(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake-modules" )
|
|
SET(LIBASSIMP_COMPONENT "libassimp${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}.${ASSIMP_VERSION_PATCH}" )
|
|
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(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(CPACK_COMPONENTS_ALL assimp-bin ${LIBASSIMP_COMPONENT} ${LIBASSIMP-DEV_COMPONENT} assimp-dev)
|
|
SET(ASSIMP_LIBRARY_SUFFIX "" CACHE STRING "Suffix to append to library names")
|
|
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.
|
|
# Workaround to be able to deal with compiler bug "Too many sections" with mingw.
|
|
IF( CMAKE_COMPILER_IS_MINGW )
|
|
IF( CMAKE_COMPILER_IS_MINGW )
|
|
ADD_DEFINITIONS(-DASSIMP_BUILD_NO_IFC_IMPORTER )
|
|
ADD_DEFINITIONS(-DASSIMP_BUILD_NO_IFC_IMPORTER )
|
|
@@ -170,8 +205,6 @@ IF (NOT TARGET uninstall)
|
|
add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
|
|
add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
|
|
ENDIF()
|
|
ENDIF()
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
# cmake configuration files
|
|
# 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.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)
|
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/assimp-config-version.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimp-config-version.cmake" @ONLY IMMEDIATE)
|
|
@@ -179,22 +212,12 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/assimp-config.cmake" "${C
|
|
|
|
|
|
FIND_PACKAGE( DirectX )
|
|
FIND_PACKAGE( DirectX )
|
|
|
|
|
|
-OPTION ( ASSIMP_NO_EXPORT
|
|
|
|
- "Disable Assimp's export functionality."
|
|
|
|
- OFF
|
|
|
|
-)
|
|
|
|
-
|
|
|
|
IF( CMAKE_COMPILER_IS_GNUCXX )
|
|
IF( CMAKE_COMPILER_IS_GNUCXX )
|
|
SET(LIBSTDC++_LIBRARIES -lstdc++)
|
|
SET(LIBSTDC++_LIBRARIES -lstdc++)
|
|
ENDIF( CMAKE_COMPILER_IS_GNUCXX )
|
|
ENDIF( CMAKE_COMPILER_IS_GNUCXX )
|
|
|
|
|
|
# Search for external dependencies, and build them from source if not found
|
|
# Search for external dependencies, and build them from source if not found
|
|
# Search for zlib
|
|
# Search for zlib
|
|
-OPTION(ASSIMP_BUILD_ZLIB
|
|
|
|
- "Build your own zlib"
|
|
|
|
- OFF
|
|
|
|
-)
|
|
|
|
-
|
|
|
|
IF ( NOT ASSIMP_BUILD_ZLIB )
|
|
IF ( NOT ASSIMP_BUILD_ZLIB )
|
|
find_package(ZLIB)
|
|
find_package(ZLIB)
|
|
ENDIF( NOT ASSIMP_BUILD_ZLIB )
|
|
ENDIF( NOT ASSIMP_BUILD_ZLIB )
|
|
@@ -292,10 +315,6 @@ ENDIF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
|
|
|
|
|
|
|
|
|
|
ADD_SUBDIRECTORY( code/ )
|
|
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 ( ASSIMP_BUILD_ASSIMP_TOOLS )
|
|
IF ( WIN32 )
|
|
IF ( WIN32 )
|
|
option ( ASSIMP_BUILD_ASSIMP_VIEW "If the Assimp view tool is built. (requires DirectX)" ${DirectX_FOUND} )
|
|
option ( ASSIMP_BUILD_ASSIMP_VIEW "If the Assimp view tool is built. (requires DirectX)" ${DirectX_FOUND} )
|
|
@@ -333,10 +352,6 @@ IF ( ASSIMP_BUILD_ASSIMP_TOOLS )
|
|
ENDIF ( Qt4_FOUND AND IL_FOUND AND OPENGL_FOUND)
|
|
ENDIF ( Qt4_FOUND AND IL_FOUND AND OPENGL_FOUND)
|
|
ENDIF ( ASSIMP_BUILD_ASSIMP_TOOLS )
|
|
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 ( ASSIMP_BUILD_SAMPLES)
|
|
IF ( WIN32 )
|
|
IF ( WIN32 )
|
|
@@ -345,22 +360,10 @@ IF ( ASSIMP_BUILD_SAMPLES)
|
|
ADD_SUBDIRECTORY( samples/SimpleOpenGL/ )
|
|
ADD_SUBDIRECTORY( samples/SimpleOpenGL/ )
|
|
ENDIF ( ASSIMP_BUILD_SAMPLES )
|
|
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 )
|
|
IF ( ASSIMP_BUILD_TESTS )
|
|
ADD_SUBDIRECTORY( test/ )
|
|
ADD_SUBDIRECTORY( test/ )
|
|
ENDIF ( ASSIMP_BUILD_TESTS )
|
|
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.
|
|
# Generate a pkg-config .pc for the Assimp library.
|
|
CONFIGURE_FILE( "${PROJECT_SOURCE_DIR}/assimp.pc.in" "${PROJECT_BINARY_DIR}/assimp.pc" @ONLY )
|
|
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})
|
|
INSTALL( FILES "${PROJECT_BINARY_DIR}/assimp.pc" DESTINATION ${ASSIMP_LIB_INSTALL_DIR}/pkgconfig/ COMPONENT ${LIBASSIMP-DEV_COMPONENT})
|