3434# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
3535# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3636#----------------------------------------------------------------------
37+ SET (CMAKE_POLICY_DEFAULT_CMP0074 NEW)
38+
3739CMAKE_MINIMUM_REQUIRED ( VERSION 3.0 )
3840
3941# Toggles the use of the hunter package manager
@@ -49,7 +51,7 @@ IF(HUNTER_ENABLED)
4951 add_definitions (-DASSIMP_USE_HUNTER)
5052ENDIF (HUNTER_ENABLED)
5153
52- PROJECT ( Assimp )
54+ PROJECT ( Assimp VERSION 5.0.0 )
5355
5456# All supported options ###############################################
5557
@@ -164,12 +166,11 @@ ELSE()
164166ENDIF (NOT BUILD_SHARED_LIBS )
165167
166168# Define here the needed parameters
167- SET (ASSIMP_VERSION_MAJOR 5 )
168- SET (ASSIMP_VERSION_MINOR 0 )
169- SET (ASSIMP_VERSION_PATCH 0 )
169+ SET (ASSIMP_VERSION_MAJOR ${PROJECT_VERSION_MAJOR} )
170+ SET (ASSIMP_VERSION_MINOR ${PROJECT_VERSION_MINOR} )
171+ SET (ASSIMP_VERSION_PATCH ${PROJECT_VERSION_PATCH} )
170172SET (ASSIMP_VERSION ${ASSIMP_VERSION_MAJOR} .${ASSIMP_VERSION_MINOR} .${ASSIMP_VERSION_PATCH} )
171- SET (ASSIMP_SOVERSION 4)
172- SET (PROJECT_VERSION "${ASSIMP_VERSION} " )
173+ SET (ASSIMP_SOVERSION 5)
173174
174175SET ( ASSIMP_PACKAGE_VERSION "0" CACHE STRING "the package-specific version used for uploading the sources" )
175176
@@ -352,20 +353,59 @@ IF (NOT TARGET uninstall)
352353 ADD_CUSTOM_TARGET (uninstall "${CMAKE_COMMAND} " -P "${CMAKE_CURRENT_BINARY_DIR} /cmake_uninstall.cmake" )
353354ENDIF ()
354355
355- # cmake configuration files
356- CONFIGURE_FILE ("${CMAKE_CURRENT_SOURCE_DIR} /assimp-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR} /assimp-config.cmake" @ONLY IMMEDIATE)
357- CONFIGURE_FILE ("${CMAKE_CURRENT_SOURCE_DIR} /assimpTargets.cmake.in" "${CMAKE_CURRENT_BINARY_DIR} /assimpTargets.cmake" @ONLY IMMEDIATE)
358- CONFIGURE_FILE ("${CMAKE_CURRENT_SOURCE_DIR} /assimpTargets-debug.cmake.in" "${CMAKE_CURRENT_BINARY_DIR} /assimpTargets-debug.cmake" @ONLY IMMEDIATE)
359- CONFIGURE_FILE ("${CMAKE_CURRENT_SOURCE_DIR} /assimpTargets-release.cmake.in" "${CMAKE_CURRENT_BINARY_DIR} /assimpTargets-release.cmake" @ONLY IMMEDIATE)
360- CONFIGURE_FILE ("${CMAKE_CURRENT_SOURCE_DIR} /assimp-config-version.cmake.in" "${CMAKE_CURRENT_BINARY_DIR} /assimp-config-version.cmake" @ONLY IMMEDIATE)
361- #we should generated these scripts after CMake VERSION 3.0.2 using export(EXPORT ...) and write_basic_package_version_file(...)
362- INSTALL (FILES
363- "${CMAKE_CURRENT_BINARY_DIR} /assimp-config.cmake"
364- "${CMAKE_CURRENT_BINARY_DIR} /assimp-config-version.cmake"
365- "${CMAKE_CURRENT_BINARY_DIR} /assimpTargets.cmake"
366- "${CMAKE_CURRENT_BINARY_DIR} /assimpTargets-debug.cmake"
367- "${CMAKE_CURRENT_BINARY_DIR} /assimpTargets-release.cmake"
368- DESTINATION "${ASSIMP_LIB_INSTALL_DIR} /cmake/assimp-${ASSIMP_VERSION_MAJOR} .${ASSIMP_VERSION_MINOR} " COMPONENT ${LIBASSIMP-DEV_COMPONENT})
356+ IF (HUNTER_ENABLED)
357+ set (CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME} " )
358+ set (INCLUDE_INSTALL_DIR "include" )
359+
360+ set (GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR} /generated" )
361+
362+ # Configuration
363+ set (VERSION_CONFIG "${GENERATED_DIR} /${PROJECT_NAME} ConfigVersion.cmake" )
364+ set (PROJECT_CONFIG "${GENERATED_DIR} /${PROJECT_NAME} Config.cmake" )
365+ set (TARGETS_EXPORT_NAME "${PROJECT_NAME} Targets" )
366+ set (NAMESPACE "${PROJECT_NAME} ::" )
367+
368+ # Include module with fuction 'write_basic_package_version_file'
369+ include (CMakePackageConfigHelpers)
370+
371+ # Note: PROJECT_VERSION is used as a VERSION
372+ write_basic_package_version_file("${VERSION_CONFIG} " COMPATIBILITY SameMajorVersion)
373+
374+ # Use variables:
375+ # * TARGETS_EXPORT_NAME
376+ # * PROJECT_NAME
377+ configure_package_config_file(
378+ "cmake/assimp-hunter-config.cmake.in"
379+ "${PROJECT_CONFIG} "
380+ INSTALL_DESTINATION "${CONFIG_INSTALL_DIR} "
381+ )
382+
383+ install (
384+ FILES "${PROJECT_CONFIG} " "${VERSION_CONFIG} "
385+ DESTINATION "${CONFIG_INSTALL_DIR} "
386+ )
387+
388+ install (
389+ EXPORT "${TARGETS_EXPORT_NAME} "
390+ NAMESPACE "${NAMESPACE} "
391+ DESTINATION "${CONFIG_INSTALL_DIR} "
392+ )
393+ ELSE (HUNTER_ENABLED)
394+ # cmake configuration files
395+ CONFIGURE_FILE ("${CMAKE_CURRENT_SOURCE_DIR} /assimp-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR} /assimp-config.cmake" @ONLY IMMEDIATE)
396+ CONFIGURE_FILE ("${CMAKE_CURRENT_SOURCE_DIR} /assimpTargets.cmake.in" "${CMAKE_CURRENT_BINARY_DIR} /assimpTargets.cmake" @ONLY IMMEDIATE)
397+ CONFIGURE_FILE ("${CMAKE_CURRENT_SOURCE_DIR} /assimpTargets-debug.cmake.in" "${CMAKE_CURRENT_BINARY_DIR} /assimpTargets-debug.cmake" @ONLY IMMEDIATE)
398+ CONFIGURE_FILE ("${CMAKE_CURRENT_SOURCE_DIR} /assimpTargets-release.cmake.in" "${CMAKE_CURRENT_BINARY_DIR} /assimpTargets-release.cmake" @ONLY IMMEDIATE)
399+ CONFIGURE_FILE ("${CMAKE_CURRENT_SOURCE_DIR} /assimp-config-version.cmake.in" "${CMAKE_CURRENT_BINARY_DIR} /assimp-config-version.cmake" @ONLY IMMEDIATE)
400+ #we should generated these scripts after CMake VERSION 3.0.2 using export(EXPORT ...) and write_basic_package_version_file(...)
401+ INSTALL (FILES
402+ "${CMAKE_CURRENT_BINARY_DIR} /assimp-config.cmake"
403+ "${CMAKE_CURRENT_BINARY_DIR} /assimp-config-version.cmake"
404+ "${CMAKE_CURRENT_BINARY_DIR} /assimpTargets.cmake"
405+ "${CMAKE_CURRENT_BINARY_DIR} /assimpTargets-debug.cmake"
406+ "${CMAKE_CURRENT_BINARY_DIR} /assimpTargets-release.cmake"
407+ DESTINATION "${ASSIMP_LIB_INSTALL_DIR} /cmake/assimp-${ASSIMP_VERSION_MAJOR} .${ASSIMP_VERSION_MINOR} " COMPONENT ${LIBASSIMP-DEV_COMPONENT})
408+ ENDIF (HUNTER_ENABLED)
369409
370410FIND_PACKAGE ( DirectX )
371411
0 commit comments