|
@@ -1,7 +1,7 @@
|
|
# Open Asset Import Library (assimp)
|
|
# Open Asset Import Library (assimp)
|
|
# ----------------------------------------------------------------------
|
|
# ----------------------------------------------------------------------
|
|
# Copyright (c) 2006-2019, assimp team
|
|
# Copyright (c) 2006-2019, 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,
|
|
@@ -34,9 +34,24 @@
|
|
# (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
|
|
|
|
-CMAKE_MINIMUM_REQUIRED( VERSION 2.8 )
|
|
|
|
-PROJECT( Assimp )
|
|
|
|
|
|
+SET(CMAKE_POLICY_DEFAULT_CMP0074 NEW)
|
|
|
|
+
|
|
|
|
+CMAKE_MINIMUM_REQUIRED( VERSION 3.0 )
|
|
|
|
+
|
|
|
|
+# Toggles the use of the hunter package manager
|
|
|
|
+option(HUNTER_ENABLED "Enable Hunter package manager support" OFF)
|
|
|
|
+
|
|
|
|
+include("cmake/HunterGate.cmake")
|
|
|
|
+HunterGate(
|
|
|
|
+ URL "https://github.com/ruslo/hunter/archive/v0.23.176.tar.gz"
|
|
|
|
+ SHA1 "2e9ae973d028660b735ac4c6142725ca36a0048a"
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+IF(HUNTER_ENABLED)
|
|
|
|
+ add_definitions(-DASSIMP_USE_HUNTER)
|
|
|
|
+ENDIF(HUNTER_ENABLED)
|
|
|
|
+
|
|
|
|
+PROJECT( Assimp VERSION 5.0.0 )
|
|
|
|
|
|
# All supported options ###############################################
|
|
# All supported options ###############################################
|
|
|
|
|
|
@@ -67,7 +82,7 @@ OPTION( ASSIMP_NO_EXPORT
|
|
)
|
|
)
|
|
OPTION( ASSIMP_BUILD_ZLIB
|
|
OPTION( ASSIMP_BUILD_ZLIB
|
|
"Build your own zlib"
|
|
"Build your own zlib"
|
|
- OFF
|
|
|
|
|
|
+ OFF
|
|
)
|
|
)
|
|
OPTION( ASSIMP_BUILD_ASSIMP_TOOLS
|
|
OPTION( ASSIMP_BUILD_ASSIMP_TOOLS
|
|
"If the supplementary tools for Assimp are built in addition to the library."
|
|
"If the supplementary tools for Assimp are built in addition to the library."
|
|
@@ -115,12 +130,12 @@ OPTION ( IGNORE_GIT_HASH
|
|
OFF
|
|
OFF
|
|
)
|
|
)
|
|
|
|
|
|
-IF (IOS)
|
|
|
|
|
|
+IF (IOS AND NOT HUNTER_ENABLED)
|
|
IF (NOT CMAKE_BUILD_TYPE)
|
|
IF (NOT CMAKE_BUILD_TYPE)
|
|
SET(CMAKE_BUILD_TYPE "Release")
|
|
SET(CMAKE_BUILD_TYPE "Release")
|
|
ENDIF (NOT CMAKE_BUILD_TYPE)
|
|
ENDIF (NOT CMAKE_BUILD_TYPE)
|
|
ADD_DEFINITIONS(-DENABLE_BITCODE)
|
|
ADD_DEFINITIONS(-DENABLE_BITCODE)
|
|
-ENDIF (IOS)
|
|
|
|
|
|
+ENDIF (IOS AND NOT HUNTER_ENABLED)
|
|
|
|
|
|
# Use subset of Windows.h
|
|
# Use subset of Windows.h
|
|
if (WIN32)
|
|
if (WIN32)
|
|
@@ -151,17 +166,18 @@ ELSE()
|
|
ENDIF(NOT BUILD_SHARED_LIBS)
|
|
ENDIF(NOT BUILD_SHARED_LIBS)
|
|
|
|
|
|
# Define here the needed parameters
|
|
# Define here the needed parameters
|
|
-SET (ASSIMP_VERSION_MAJOR 5)
|
|
|
|
-SET (ASSIMP_VERSION_MINOR 0)
|
|
|
|
-SET (ASSIMP_VERSION_PATCH 0)
|
|
|
|
|
|
+SET (ASSIMP_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
|
|
|
|
+SET (ASSIMP_VERSION_MINOR ${PROJECT_VERSION_MINOR})
|
|
|
|
+SET (ASSIMP_VERSION_PATCH ${PROJECT_VERSION_PATCH})
|
|
SET (ASSIMP_VERSION ${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}.${ASSIMP_VERSION_PATCH})
|
|
SET (ASSIMP_VERSION ${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}.${ASSIMP_VERSION_PATCH})
|
|
-SET (ASSIMP_SOVERSION 4)
|
|
|
|
-SET (PROJECT_VERSION "${ASSIMP_VERSION}")
|
|
|
|
|
|
+SET (ASSIMP_SOVERSION 5)
|
|
|
|
|
|
SET( ASSIMP_PACKAGE_VERSION "0" CACHE STRING "the package-specific version used for uploading the sources" )
|
|
SET( ASSIMP_PACKAGE_VERSION "0" CACHE STRING "the package-specific version used for uploading the sources" )
|
|
|
|
|
|
-# Enable C++11 support globally
|
|
|
|
-set_property( GLOBAL PROPERTY CXX_STANDARD 11 )
|
|
|
|
|
|
+if(NOT HUNTER_ENABLED)
|
|
|
|
+ # Enable C++11 support globally
|
|
|
|
+ set_property( GLOBAL PROPERTY CXX_STANDARD 11 )
|
|
|
|
+endif()
|
|
|
|
|
|
IF(NOT IGNORE_GIT_HASH)
|
|
IF(NOT IGNORE_GIT_HASH)
|
|
# Get the current working branch
|
|
# Get the current working branch
|
|
@@ -203,6 +219,7 @@ CONFIGURE_FILE(
|
|
|
|
|
|
INCLUDE_DIRECTORIES( BEFORE
|
|
INCLUDE_DIRECTORIES( BEFORE
|
|
./
|
|
./
|
|
|
|
+ code/
|
|
include
|
|
include
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
${CMAKE_CURRENT_BINARY_DIR}/include
|
|
${CMAKE_CURRENT_BINARY_DIR}/include
|
|
@@ -221,9 +238,13 @@ ENDIF( UNIX )
|
|
|
|
|
|
# Grouped compiler settings
|
|
# Grouped compiler settings
|
|
IF ((CMAKE_C_COMPILER_ID MATCHES "GNU") AND NOT CMAKE_COMPILER_IS_MINGW)
|
|
IF ((CMAKE_C_COMPILER_ID MATCHES "GNU") AND NOT CMAKE_COMPILER_IS_MINGW)
|
|
|
|
+ IF(NOT HUNTER_ENABLED)
|
|
|
|
+ SET(CMAKE_CXX_FLAGS "-fPIC -std=c++0x ${CMAKE_CXX_FLAGS}")
|
|
|
|
+ SET(CMAKE_C_FLAGS "-fPIC ${CMAKE_C_FLAGS}")
|
|
|
|
+ ENDIF()
|
|
# hide all not-exported symbols
|
|
# hide all not-exported symbols
|
|
- SET(CMAKE_CXX_FLAGS "-g -fvisibility=hidden -fPIC -fno-strict-aliasing -Wall -std=c++0x ${CMAKE_CXX_FLAGS}")
|
|
|
|
- SET(CMAKE_C_FLAGS "-fPIC -fno-strict-aliasing ${CMAKE_C_FLAGS}")
|
|
|
|
|
|
+ SET(CMAKE_CXX_FLAGS "-g -fvisibility=hidden -fno-strict-aliasing -Wall ${CMAKE_CXX_FLAGS}")
|
|
|
|
+ SET(CMAKE_C_FLAGS "-fno-strict-aliasing ${CMAKE_C_FLAGS}")
|
|
SET(LIBSTDC++_LIBRARIES -lstdc++)
|
|
SET(LIBSTDC++_LIBRARIES -lstdc++)
|
|
ELSEIF(MSVC)
|
|
ELSEIF(MSVC)
|
|
# enable multi-core compilation with MSVC
|
|
# enable multi-core compilation with MSVC
|
|
@@ -234,20 +255,28 @@ ELSEIF(MSVC)
|
|
ADD_COMPILE_OPTIONS(/wd4351)
|
|
ADD_COMPILE_OPTIONS(/wd4351)
|
|
ENDIF()
|
|
ENDIF()
|
|
ELSEIF ( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" )
|
|
ELSEIF ( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" )
|
|
- SET(CMAKE_CXX_FLAGS "-g -fvisibility=hidden -fPIC -fno-strict-aliasing -Wall -Wno-long-long -std=c++11 ${CMAKE_CXX_FLAGS}" )
|
|
|
|
- SET(CMAKE_C_FLAGS "-fPIC -fno-strict-aliasing ${CMAKE_C_FLAGS}")
|
|
|
|
|
|
+ IF(NOT HUNTER_ENABLED)
|
|
|
|
+ SET(CMAKE_CXX_FLAGS "-fPIC -std=c++11 ${CMAKE_CXX_FLAGS}")
|
|
|
|
+ SET(CMAKE_C_FLAGS "-fPIC ${CMAKE_C_FLAGS}")
|
|
|
|
+ ENDIF()
|
|
|
|
+ SET(CMAKE_CXX_FLAGS "-g -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long ${CMAKE_CXX_FLAGS}" )
|
|
|
|
+ SET(CMAKE_C_FLAGS "-fno-strict-aliasing ${CMAKE_C_FLAGS}")
|
|
ELSEIF( CMAKE_COMPILER_IS_MINGW )
|
|
ELSEIF( CMAKE_COMPILER_IS_MINGW )
|
|
IF (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0)
|
|
IF (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0)
|
|
message(FATAL_ERROR "MinGW is too old to be supported. Please update MinGW and try again.")
|
|
message(FATAL_ERROR "MinGW is too old to be supported. Please update MinGW and try again.")
|
|
ELSEIF(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.3)
|
|
ELSEIF(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.3)
|
|
message(WARNING "MinGW is old, if you experience errors, update MinGW.")
|
|
message(WARNING "MinGW is old, if you experience errors, update MinGW.")
|
|
ENDIF()
|
|
ENDIF()
|
|
- SET( CMAKE_CXX_FLAGS "-fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=c++11 -Wa,-mbig-obj ${CMAKE_CXX_FLAGS}" )
|
|
|
|
- SET(CMAKE_C_FLAGS "-fPIC -fno-strict-aliasing ${CMAKE_C_FLAGS} ")
|
|
|
|
|
|
+ IF(NOT HUNTER_ENABLED)
|
|
|
|
+ SET(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
|
|
|
|
+ SET(CMAKE_C_FLAGS "-fPIC ${CMAKE_C_FLAGS}")
|
|
|
|
+ ENDIF()
|
|
|
|
+ SET(CMAKE_CXX_FLAGS "-fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -Wa,-mbig-obj ${CMAKE_CXX_FLAGS}")
|
|
|
|
+ SET(CMAKE_C_FLAGS "-fno-strict-aliasing ${CMAKE_C_FLAGS}")
|
|
ADD_DEFINITIONS( -U__STRICT_ANSI__ )
|
|
ADD_DEFINITIONS( -U__STRICT_ANSI__ )
|
|
ENDIF()
|
|
ENDIF()
|
|
|
|
|
|
-IF ( IOS )
|
|
|
|
|
|
+IF ( IOS AND NOT HUNTER_ENABLED)
|
|
|
|
|
|
IF (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
IF (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fembed-bitcode -Og")
|
|
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fembed-bitcode -Og")
|
|
@@ -258,7 +287,7 @@ ELSE()
|
|
# Experimental for pdb generation
|
|
# Experimental for pdb generation
|
|
ENDIF()
|
|
ENDIF()
|
|
|
|
|
|
-ENDIF( IOS )
|
|
|
|
|
|
+ENDIF( IOS AND NOT HUNTER_ENABLED)
|
|
|
|
|
|
IF (ASSIMP_COVERALLS)
|
|
IF (ASSIMP_COVERALLS)
|
|
MESSAGE(STATUS "Coveralls enabled")
|
|
MESSAGE(STATUS "Coveralls enabled")
|
|
@@ -325,28 +354,67 @@ 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
|
|
|
|
-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}/assimpTargets.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets.cmake" @ONLY IMMEDIATE)
|
|
|
|
-IF (is_multi_config)
|
|
|
|
- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets-debug.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-debug.cmake" @ONLY IMMEDIATE)
|
|
|
|
- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets-release.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-release.cmake" @ONLY IMMEDIATE)
|
|
|
|
- SET(PACKAGE_TARGETS_FILE "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-debug.cmake" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-release.cmake")
|
|
|
|
-ELSEIF (CMAKE_BUILD_TYPE STREQUAL Debug)
|
|
|
|
- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets-debug.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-debug.cmake" @ONLY IMMEDIATE)
|
|
|
|
- SET(PACKAGE_TARGETS_FILE "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-debug.cmake")
|
|
|
|
-ELSE()
|
|
|
|
- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets-release.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-release.cmake" @ONLY IMMEDIATE)
|
|
|
|
- SET(PACKAGE_TARGETS_FILE "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-release.cmake")
|
|
|
|
-ENDIF()
|
|
|
|
-CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimp-config-version.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimp-config-version.cmake" @ONLY IMMEDIATE)
|
|
|
|
-#we should generated these scripts after CMake VERSION 3.0.2 using export(EXPORT ...) and write_basic_package_version_file(...)
|
|
|
|
-INSTALL(FILES
|
|
|
|
- "${CMAKE_CURRENT_BINARY_DIR}/assimp-config.cmake"
|
|
|
|
- "${CMAKE_CURRENT_BINARY_DIR}/assimp-config-version.cmake"
|
|
|
|
- "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets.cmake"
|
|
|
|
- ${PACKAGE_TARGETS_FILE}
|
|
|
|
- DESTINATION "${ASSIMP_LIB_INSTALL_DIR}/cmake/assimp-${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}" COMPONENT ${LIBASSIMP-DEV_COMPONENT})
|
|
|
|
|
|
+IF(HUNTER_ENABLED)
|
|
|
|
+ set(CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}")
|
|
|
|
+ set(INCLUDE_INSTALL_DIR "include")
|
|
|
|
+
|
|
|
|
+ set(GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated")
|
|
|
|
+
|
|
|
|
+ # Configuration
|
|
|
|
+ set(VERSION_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}ConfigVersion.cmake")
|
|
|
|
+ set(PROJECT_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}Config.cmake")
|
|
|
|
+ set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
|
|
|
|
+ set(NAMESPACE "${PROJECT_NAME}::")
|
|
|
|
+
|
|
|
|
+ # Include module with fuction 'write_basic_package_version_file'
|
|
|
|
+ include(CMakePackageConfigHelpers)
|
|
|
|
+
|
|
|
|
+ # Note: PROJECT_VERSION is used as a VERSION
|
|
|
|
+ write_basic_package_version_file("${VERSION_CONFIG}" COMPATIBILITY SameMajorVersion)
|
|
|
|
+
|
|
|
|
+ # Use variables:
|
|
|
|
+ # * TARGETS_EXPORT_NAME
|
|
|
|
+ # * PROJECT_NAME
|
|
|
|
+ configure_package_config_file(
|
|
|
|
+ "cmake/assimp-hunter-config.cmake.in"
|
|
|
|
+ "${PROJECT_CONFIG}"
|
|
|
|
+ INSTALL_DESTINATION "${CONFIG_INSTALL_DIR}"
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ install(
|
|
|
|
+ FILES "${PROJECT_CONFIG}" "${VERSION_CONFIG}"
|
|
|
|
+ DESTINATION "${CONFIG_INSTALL_DIR}"
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ install(
|
|
|
|
+ EXPORT "${TARGETS_EXPORT_NAME}"
|
|
|
|
+ NAMESPACE "${NAMESPACE}"
|
|
|
|
+ DESTINATION "${CONFIG_INSTALL_DIR}"
|
|
|
|
+ )
|
|
|
|
+ELSE(HUNTER_ENABLED)
|
|
|
|
+ # 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}/assimpTargets.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets.cmake" @ONLY IMMEDIATE)
|
|
|
|
+ IF (is_multi_config)
|
|
|
|
+ CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets-debug.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-debug.cmake" @ONLY IMMEDIATE)
|
|
|
|
+ CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets-release.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-release.cmake" @ONLY IMMEDIATE)
|
|
|
|
+ SET(PACKAGE_TARGETS_FILE "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-debug.cmake" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-release.cmake")
|
|
|
|
+ ELSEIF (CMAKE_BUILD_TYPE STREQUAL Debug)
|
|
|
|
+ CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets-debug.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-debug.cmake" @ONLY IMMEDIATE)
|
|
|
|
+ SET(PACKAGE_TARGETS_FILE "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-debug.cmake")
|
|
|
|
+ ELSE()
|
|
|
|
+ CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets-release.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-release.cmake" @ONLY IMMEDIATE)
|
|
|
|
+ SET(PACKAGE_TARGETS_FILE "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-release.cmake")
|
|
|
|
+ ENDIF()
|
|
|
|
+ CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimp-config-version.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimp-config-version.cmake" @ONLY IMMEDIATE)
|
|
|
|
+ #we should generated these scripts after CMake VERSION 3.0.2 using export(EXPORT ...) and write_basic_package_version_file(...)
|
|
|
|
+ INSTALL(FILES
|
|
|
|
+ "${CMAKE_CURRENT_BINARY_DIR}/assimp-config.cmake"
|
|
|
|
+ "${CMAKE_CURRENT_BINARY_DIR}/assimp-config-version.cmake"
|
|
|
|
+ "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets.cmake"
|
|
|
|
+ ${PACKAGE_TARGETS_FILE}
|
|
|
|
+ DESTINATION "${ASSIMP_LIB_INSTALL_DIR}/cmake/assimp-${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}" COMPONENT ${LIBASSIMP-DEV_COMPONENT})
|
|
|
|
+ENDIF(HUNTER_ENABLED)
|
|
|
|
|
|
FIND_PACKAGE( DirectX )
|
|
FIND_PACKAGE( DirectX )
|
|
|
|
|
|
@@ -361,48 +429,57 @@ 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
|
|
-IF ( NOT ASSIMP_BUILD_ZLIB )
|
|
|
|
- FIND_PACKAGE(ZLIB)
|
|
|
|
-ENDIF( NOT ASSIMP_BUILD_ZLIB )
|
|
|
|
-
|
|
|
|
-IF( NOT ZLIB_FOUND )
|
|
|
|
- MESSAGE(STATUS "compiling zlib from sources")
|
|
|
|
- INCLUDE(CheckIncludeFile)
|
|
|
|
- INCLUDE(CheckTypeSize)
|
|
|
|
- INCLUDE(CheckFunctionExists)
|
|
|
|
-
|
|
|
|
- # Explicitly turn off ASM686 and AMD64 cmake options.
|
|
|
|
- # The AMD64 option causes a build failure on MSVC and the ASM builds seem to have problems:
|
|
|
|
- # https://github.com/madler/zlib/issues/41#issuecomment-125848075
|
|
|
|
- # Also prevents these options from "polluting" the cmake options if assimp is being
|
|
|
|
- # included as a submodule.
|
|
|
|
- set( ASM686 FALSE CACHE INTERNAL "Override ZLIB flag to turn off assembly" FORCE )
|
|
|
|
- set( AMD64 FALSE CACHE INTERNAL "Override ZLIB flag to turn off assembly" FORCE )
|
|
|
|
-
|
|
|
|
- # compile from sources
|
|
|
|
- ADD_SUBDIRECTORY(contrib/zlib)
|
|
|
|
- SET(ZLIB_FOUND 1)
|
|
|
|
- SET(ZLIB_LIBRARIES zlibstatic)
|
|
|
|
- SET(ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/contrib/zlib ${CMAKE_CURRENT_BINARY_DIR}/contrib/zlib)
|
|
|
|
- # need to ensure we don't link with system zlib or minizip as well.
|
|
|
|
- SET(ASSIMP_BUILD_MINIZIP 1)
|
|
|
|
-ELSE(NOT ZLIB_FOUND)
|
|
|
|
- ADD_DEFINITIONS(-DASSIMP_BUILD_NO_OWN_ZLIB)
|
|
|
|
- SET(ZLIB_LIBRARIES_LINKED -lz)
|
|
|
|
-ENDIF(NOT ZLIB_FOUND)
|
|
|
|
-INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
|
|
|
|
-
|
|
|
|
-# Search for unzip
|
|
|
|
-IF ( NOT IOS )
|
|
|
|
|
|
+IF(HUNTER_ENABLED)
|
|
|
|
+ hunter_add_package(ZLIB)
|
|
|
|
+ find_package(ZLIB CONFIG REQUIRED)
|
|
|
|
+
|
|
|
|
+ add_definitions(-DASSIMP_BUILD_NO_OWN_ZLIB)
|
|
|
|
+ set(ZLIB_FOUND TRUE)
|
|
|
|
+ set(ZLIB_LIBRARIES ZLIB::zlib)
|
|
|
|
+ set(ASSIMP_BUILD_MINIZIP TRUE)
|
|
|
|
+ELSE(HUNTER_ENABLED)
|
|
|
|
+ IF ( NOT ASSIMP_BUILD_ZLIB )
|
|
|
|
+ FIND_PACKAGE(ZLIB)
|
|
|
|
+ ENDIF( NOT ASSIMP_BUILD_ZLIB )
|
|
|
|
+
|
|
|
|
+ IF( NOT ZLIB_FOUND )
|
|
|
|
+ MESSAGE(STATUS "compiling zlib from sources")
|
|
|
|
+ INCLUDE(CheckIncludeFile)
|
|
|
|
+ INCLUDE(CheckTypeSize)
|
|
|
|
+ INCLUDE(CheckFunctionExists)
|
|
|
|
+
|
|
|
|
+ # Explicitly turn off ASM686 and AMD64 cmake options.
|
|
|
|
+ # The AMD64 option causes a build failure on MSVC and the ASM builds seem to have problems:
|
|
|
|
+ # https://github.com/madler/zlib/issues/41#issuecomment-125848075
|
|
|
|
+ # Also prevents these options from "polluting" the cmake options if assimp is being
|
|
|
|
+ # included as a submodule.
|
|
|
|
+ set( ASM686 FALSE CACHE INTERNAL "Override ZLIB flag to turn off assembly" FORCE )
|
|
|
|
+ set( AMD64 FALSE CACHE INTERNAL "Override ZLIB flag to turn off assembly" FORCE )
|
|
|
|
+
|
|
|
|
+ # compile from sources
|
|
|
|
+ ADD_SUBDIRECTORY(contrib/zlib)
|
|
|
|
+ SET(ZLIB_FOUND 1)
|
|
|
|
+ SET(ZLIB_LIBRARIES zlibstatic)
|
|
|
|
+ SET(ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/contrib/zlib ${CMAKE_CURRENT_BINARY_DIR}/contrib/zlib)
|
|
|
|
+ # need to ensure we don't link with system zlib or minizip as well.
|
|
|
|
+ SET(ASSIMP_BUILD_MINIZIP 1)
|
|
|
|
+ ELSE(NOT ZLIB_FOUND)
|
|
|
|
+ ADD_DEFINITIONS(-DASSIMP_BUILD_NO_OWN_ZLIB)
|
|
|
|
+ SET(ZLIB_LIBRARIES_LINKED -lz)
|
|
|
|
+ ENDIF(NOT ZLIB_FOUND)
|
|
|
|
+ INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
|
|
|
|
+ENDIF(HUNTER_ENABLED)
|
|
|
|
+
|
|
|
|
+IF( NOT IOS )
|
|
IF( NOT ASSIMP_BUILD_MINIZIP )
|
|
IF( NOT ASSIMP_BUILD_MINIZIP )
|
|
- use_pkgconfig(UNZIP minizip)
|
|
|
|
|
|
+ use_pkgconfig(UNZIP minizip)
|
|
ENDIF( NOT ASSIMP_BUILD_MINIZIP )
|
|
ENDIF( NOT ASSIMP_BUILD_MINIZIP )
|
|
ELSE ( NOT IOS )
|
|
ELSE ( NOT IOS )
|
|
- IF(NOT BUILD_SHARED_LIBS)
|
|
|
|
|
|
+ IF( NOT BUILD_SHARED_LIBS )
|
|
IF( NOT ASSIMP_BUILD_MINIZIP )
|
|
IF( NOT ASSIMP_BUILD_MINIZIP )
|
|
- use_pkgconfig(UNZIP minizip)
|
|
|
|
|
|
+ use_pkgconfig(UNZIP minizip)
|
|
ENDIF( NOT ASSIMP_BUILD_MINIZIP )
|
|
ENDIF( NOT ASSIMP_BUILD_MINIZIP )
|
|
- ENDIF (NOT BUILD_SHARED_LIBS)
|
|
|
|
|
|
+ ENDIF ( NOT BUILD_SHARED_LIBS )
|
|
ENDIF ( NOT IOS )
|
|
ENDIF ( NOT IOS )
|
|
|
|
|
|
IF ( ASSIMP_NO_EXPORT )
|
|
IF ( ASSIMP_NO_EXPORT )
|
|
@@ -476,7 +553,9 @@ 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)
|
|
|
|
|
|
+IF(NOT HUNTER_ENABLED)
|
|
|
|
+ ADD_SUBDIRECTORY(contrib)
|
|
|
|
+ENDIF(NOT HUNTER_ENABLED)
|
|
|
|
|
|
ADD_SUBDIRECTORY( code/ )
|
|
ADD_SUBDIRECTORY( code/ )
|
|
IF ( ASSIMP_BUILD_ASSIMP_TOOLS )
|
|
IF ( ASSIMP_BUILD_ASSIMP_TOOLS )
|