|
@@ -1,7 +1,6 @@
|
|
# Open Asset Import Library (assimp)
|
|
# Open Asset Import Library (assimp)
|
|
# ----------------------------------------------------------------------
|
|
# ----------------------------------------------------------------------
|
|
-#
|
|
|
|
-# Copyright (c) 2006-2016, assimp team
|
|
|
|
|
|
+# Copyright (c) 2006-2017, assimp team
|
|
# All rights reserved.
|
|
# All rights reserved.
|
|
#
|
|
#
|
|
# Redistribution and use of this software in source and binary forms,
|
|
# Redistribution and use of this software in source and binary forms,
|
|
@@ -33,7 +32,6 @@
|
|
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
-#
|
|
|
|
#----------------------------------------------------------------------
|
|
#----------------------------------------------------------------------
|
|
SET(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is required
|
|
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 )
|
|
@@ -81,6 +79,16 @@ OPTION ( ASSIMP_COVERALLS
|
|
OFF
|
|
OFF
|
|
)
|
|
)
|
|
|
|
|
|
|
|
+option ( SYSTEM_IRRXML
|
|
|
|
+ "Use system installed Irrlicht/IrrXML library."
|
|
|
|
+ OFF
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+OPTION ( BUILD_DOCS
|
|
|
|
+ "Build documentation using Doxygen."
|
|
|
|
+ OFF
|
|
|
|
+)
|
|
|
|
+
|
|
IF(MSVC)
|
|
IF(MSVC)
|
|
set (CMAKE_PREFIX_PATH "D:\\libs\\devil")
|
|
set (CMAKE_PREFIX_PATH "D:\\libs\\devil")
|
|
OPTION( ASSIMP_INSTALL_PDB
|
|
OPTION( ASSIMP_INSTALL_PDB
|
|
@@ -140,7 +148,7 @@ configure_file(
|
|
|
|
|
|
configure_file(
|
|
configure_file(
|
|
${CMAKE_CURRENT_LIST_DIR}/include/assimp/config.h.in
|
|
${CMAKE_CURRENT_LIST_DIR}/include/assimp/config.h.in
|
|
- ${CMAKE_CURRENT_LIST_DIR}/include/assimp/config.h
|
|
|
|
|
|
+ ${CMAKE_CURRENT_BINARY_DIR}/include/assimp/config.h
|
|
)
|
|
)
|
|
|
|
|
|
include_directories(
|
|
include_directories(
|
|
@@ -155,25 +163,28 @@ SET(LIBASSIMP-DEV_COMPONENT "libassimp${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_M
|
|
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")
|
|
|
|
|
|
-# Ensure that we do not run into issues like http://www.tcm.phy.cam.ac.uk/sw/inodes64.html on 32 bit linux
|
|
|
|
IF( UNIX )
|
|
IF( UNIX )
|
|
|
|
+ # Ensure that we do not run into issues like http://www.tcm.phy.cam.ac.uk/sw/inodes64.html on 32 bit linux
|
|
IF ( CMAKE_SIZEOF_VOID_P EQUAL 4) # only necessary for 32-bit linux
|
|
IF ( CMAKE_SIZEOF_VOID_P EQUAL 4) # only necessary for 32-bit linux
|
|
ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64 )
|
|
ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64 )
|
|
ENDIF()
|
|
ENDIF()
|
|
-ENDIF()
|
|
|
|
|
|
|
|
-IF((CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) AND NOT CMAKE_COMPILER_IS_MINGW)
|
|
|
|
- IF (BUILD_SHARED_LIBS AND CMAKE_SIZEOF_VOID_P EQUAL 8) # -fPIC is only required for shared libs on 64 bit
|
|
|
|
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
|
|
|
|
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
|
|
|
- ENDIF()
|
|
|
|
|
|
+ # Use GNUInstallDirs for Unix predefined directories
|
|
|
|
+ include(GNUInstallDirs)
|
|
|
|
+ENDIF( UNIX )
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+# Grouped compiler settings
|
|
|
|
+IF ((CMAKE_C_COMPILER_ID MATCHES "GNU") AND NOT CMAKE_COMPILER_IS_MINGW)
|
|
# hide all not-exported symbols
|
|
# hide all not-exported symbols
|
|
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fvisibility=hidden -Wall -std=c++0x" )
|
|
|
|
|
|
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fvisibility=hidden -fPIC -Wall -std=c++0x")
|
|
|
|
+ SET(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} -fPIC)
|
|
|
|
+ SET(LIBSTDC++_LIBRARIES -lstdc++)
|
|
ELSEIF(MSVC)
|
|
ELSEIF(MSVC)
|
|
# enable multi-core compilation with MSVC
|
|
# enable multi-core compilation with MSVC
|
|
add_compile_options(/MP)
|
|
add_compile_options(/MP)
|
|
-ELSEIF ( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" )
|
|
|
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fvisibility=hidden -Wall -Wno-long-long -pedantic -std=c++11" )
|
|
|
|
|
|
+ELSEIF ( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" )
|
|
|
|
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fvisibility=hidden -fPIC -Wall -Wno-long-long -pedantic -std=c++11" )
|
|
ELSEIF( CMAKE_COMPILER_IS_MINGW )
|
|
ELSEIF( CMAKE_COMPILER_IS_MINGW )
|
|
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -Wall -Wno-long-long -pedantic -std=c++11" )
|
|
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -Wall -Wno-long-long -pedantic -std=c++11" )
|
|
add_definitions( -U__STRICT_ANSI__ )
|
|
add_definitions( -U__STRICT_ANSI__ )
|
|
@@ -228,9 +239,14 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/assimp-config.cmake" "${C
|
|
|
|
|
|
FIND_PACKAGE( DirectX )
|
|
FIND_PACKAGE( DirectX )
|
|
|
|
|
|
-IF( CMAKE_COMPILER_IS_GNUCXX )
|
|
|
|
- SET(LIBSTDC++_LIBRARIES -lstdc++)
|
|
|
|
-ENDIF( CMAKE_COMPILER_IS_GNUCXX )
|
|
|
|
|
|
+IF( BUILD_DOCS )
|
|
|
|
+ add_subdirectory(doc)
|
|
|
|
+ENDIF( BUILD_DOCS )
|
|
|
|
+
|
|
|
|
+# Look for system installed irrXML
|
|
|
|
+IF ( SYSTEM_IRRXML )
|
|
|
|
+ find_package( IrrXML REQUIRED )
|
|
|
|
+ENDIF( SYSTEM_IRRXML )
|
|
|
|
|
|
# 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
|
|
@@ -326,6 +342,8 @@ ELSE (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
|
|
ADD_DEFINITIONS( -DASSIMP_BUILD_NO_C4D_IMPORTER )
|
|
ADD_DEFINITIONS( -DASSIMP_BUILD_NO_C4D_IMPORTER )
|
|
ENDIF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
|
|
ENDIF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
|
|
|
|
|
|
|
|
+ADD_SUBDIRECTORY(contrib)
|
|
|
|
+
|
|
ADD_SUBDIRECTORY( code/ )
|
|
ADD_SUBDIRECTORY( code/ )
|
|
IF ( ASSIMP_BUILD_ASSIMP_TOOLS )
|
|
IF ( ASSIMP_BUILD_ASSIMP_TOOLS )
|
|
IF ( WIN32 AND DirectX_D3DX9_LIBRARY )
|
|
IF ( WIN32 AND DirectX_D3DX9_LIBRARY )
|
|
@@ -429,29 +447,29 @@ IF(CMAKE_CPACK_COMMAND AND UNIX AND ASSIMP_OPT_BUILD_PACKAGES)
|
|
ENDIF()
|
|
ENDIF()
|
|
|
|
|
|
if(WIN32)
|
|
if(WIN32)
|
|
- if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
|
|
- SET(BIN_DIR "${PROJECT_SOURCE_DIR}/bin64/")
|
|
|
|
- SET(LIB_DIR "${PROJECT_SOURCE_DIR}/lib64/")
|
|
|
|
- elseif()
|
|
|
|
- SET(BIN_DIR "${PROJECT_SOURCE_DIR}/bin32/")
|
|
|
|
- SET(LIB_DIR "${PROJECT_SOURCE_DIR}/lib32/")
|
|
|
|
- ENDIF()
|
|
|
|
-
|
|
|
|
- if(MSVC12)
|
|
|
|
- SET(ASSIMP_MSVC_VERSION "vc120")
|
|
|
|
- elseif(MSVC14)
|
|
|
|
- SET(ASSIMP_MSVC_VERSION "vc140")
|
|
|
|
- ENDIF(MSVC12)
|
|
|
|
-
|
|
|
|
- if(MSVC12 OR MSVC14)
|
|
|
|
- add_custom_target(UpdateAssimpLibsDebugSymbolsAndDLLs COMMENT "Copying Assimp Libraries ..." VERBATIM)
|
|
|
|
- add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Release/assimp-${ASSIMP_MSVC_VERSION}-mt.dll ${BIN_DIR}assimp-${ASSIMP_MSVC_VERSION}-mt.dll VERBATIM)
|
|
|
|
- add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Release/assimp-${ASSIMP_MSVC_VERSION}-mt.exp ${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mt.exp VERBATIM)
|
|
|
|
- add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Release/assimp-${ASSIMP_MSVC_VERSION}-mt.lib ${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mt.lib VERBATIM)
|
|
|
|
- add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-${ASSIMP_MSVC_VERSION}-mtd.dll ${BIN_DIR}assimp-${ASSIMP_MSVC_VERSION}-mtd.dll VERBATIM)
|
|
|
|
- add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-${ASSIMP_MSVC_VERSION}-mtd.exp ${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mtd.exp VERBATIM)
|
|
|
|
- add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-${ASSIMP_MSVC_VERSION}-mtd.ilk ${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mtd.ilk VERBATIM)
|
|
|
|
- add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-${ASSIMP_MSVC_VERSION}-mtd.lib ${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mtd.lib VERBATIM)
|
|
|
|
- add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-${ASSIMP_MSVC_VERSION}-mtd.pdb ${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mtd.pdb VERBATIM)
|
|
|
|
- ENDIF(MSVC12 OR MSVC14)
|
|
|
|
|
|
+ if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
|
|
+ SET(BIN_DIR "${PROJECT_SOURCE_DIR}/bin64/")
|
|
|
|
+ SET(LIB_DIR "${PROJECT_SOURCE_DIR}/lib64/")
|
|
|
|
+ elseif()
|
|
|
|
+ SET(BIN_DIR "${PROJECT_SOURCE_DIR}/bin32/")
|
|
|
|
+ SET(LIB_DIR "${PROJECT_SOURCE_DIR}/lib32/")
|
|
|
|
+ ENDIF()
|
|
|
|
+
|
|
|
|
+ if(MSVC12)
|
|
|
|
+ SET(ASSIMP_MSVC_VERSION "vc120")
|
|
|
|
+ elseif(MSVC14)
|
|
|
|
+ SET(ASSIMP_MSVC_VERSION "vc140")
|
|
|
|
+ ENDIF(MSVC12)
|
|
|
|
+
|
|
|
|
+ if(MSVC12 OR MSVC14)
|
|
|
|
+ add_custom_target(UpdateAssimpLibsDebugSymbolsAndDLLs COMMENT "Copying Assimp Libraries ..." VERBATIM)
|
|
|
|
+ add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Release/assimp-${ASSIMP_MSVC_VERSION}-mt.dll ${BIN_DIR}assimp-${ASSIMP_MSVC_VERSION}-mt.dll VERBATIM)
|
|
|
|
+ add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Release/assimp-${ASSIMP_MSVC_VERSION}-mt.exp ${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mt.exp VERBATIM)
|
|
|
|
+ add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Release/assimp-${ASSIMP_MSVC_VERSION}-mt.lib ${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mt.lib VERBATIM)
|
|
|
|
+ add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-${ASSIMP_MSVC_VERSION}-mtd.dll ${BIN_DIR}assimp-${ASSIMP_MSVC_VERSION}-mtd.dll VERBATIM)
|
|
|
|
+ add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-${ASSIMP_MSVC_VERSION}-mtd.exp ${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mtd.exp VERBATIM)
|
|
|
|
+ add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-${ASSIMP_MSVC_VERSION}-mtd.ilk ${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mtd.ilk VERBATIM)
|
|
|
|
+ add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-${ASSIMP_MSVC_VERSION}-mtd.lib ${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mtd.lib VERBATIM)
|
|
|
|
+ add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-${ASSIMP_MSVC_VERSION}-mtd.pdb ${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mtd.pdb VERBATIM)
|
|
|
|
+ ENDIF(MSVC12 OR MSVC14)
|
|
ENDIF (WIN32)
|
|
ENDIF (WIN32)
|