Skip to content
This repository was archived by the owner on Jul 9, 2019. It is now read-only.

Commit f566643

Browse files
rbshethruslo
authored andcommitted
Build Hunter-compatible config file
1 parent 37fae20 commit f566643

File tree

3 files changed

+90
-25
lines changed

3 files changed

+90
-25
lines changed

CMakeLists.txt

Lines changed: 60 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
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+
3739
CMAKE_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)
5052
ENDIF(HUNTER_ENABLED)
5153

52-
PROJECT( Assimp )
54+
PROJECT( Assimp VERSION 5.0.0 )
5355

5456
# All supported options ###############################################
5557

@@ -164,12 +166,11 @@ ELSE()
164166
ENDIF(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})
170172
SET (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

174175
SET( 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")
353354
ENDIF()
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

370410
FIND_PACKAGE( DirectX )
371411

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
@PACKAGE_INIT@
2+
3+
find_package(RapidJSON CONFIG REQUIRED)
4+
find_package(ZLIB CONFIG REQUIRED)
5+
find_package(utf8 CONFIG REQUIRED)
6+
find_package(irrXML CONFIG REQUIRED)
7+
find_package(minizip CONFIG REQUIRED)
8+
find_package(openddlparser CONFIG REQUIRED)
9+
find_package(poly2tri CONFIG REQUIRED)
10+
find_package(polyclipping CONFIG REQUIRED)
11+
find_package(zip CONFIG REQUIRED)
12+
13+
include("${CMAKE_CURRENT_LIST_DIR}/@[email protected]")
14+
check_required_components("@PROJECT_NAME@")

code/CMakeLists.txt

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1202,12 +1202,23 @@ IF (RT_FOUND AND ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC)
12021202
TARGET_LINK_LIBRARIES(assimp ${RT_LIBRARY})
12031203
ENDIF (RT_FOUND AND ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC)
12041204

1205+
IF(HUNTER_ENABLED)
1206+
INSTALL( TARGETS assimp
1207+
EXPORT "${TARGETS_EXPORT_NAME}"
1208+
LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
1209+
ARCHIVE DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
1210+
RUNTIME DESTINATION ${ASSIMP_BIN_INSTALL_DIR}
1211+
FRAMEWORK DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
1212+
COMPONENT ${LIBASSIMP_COMPONENT}
1213+
INCLUDES DESTINATION "include")
1214+
ELSE(HUNTER_ENABLED)
12051215
INSTALL( TARGETS assimp
1206-
LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
1207-
ARCHIVE DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
1208-
RUNTIME DESTINATION ${ASSIMP_BIN_INSTALL_DIR}
1209-
FRAMEWORK DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
1210-
COMPONENT ${LIBASSIMP_COMPONENT})
1216+
LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
1217+
ARCHIVE DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
1218+
RUNTIME DESTINATION ${ASSIMP_BIN_INSTALL_DIR}
1219+
FRAMEWORK DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
1220+
COMPONENT ${LIBASSIMP_COMPONENT})
1221+
ENDIF(HUNTER_ENABLED)
12111222
INSTALL( FILES ${PUBLIC_HEADERS} DESTINATION ${ASSIMP_INCLUDE_INSTALL_DIR}/assimp COMPONENT assimp-dev)
12121223
INSTALL( FILES ${COMPILER_HEADERS} DESTINATION ${ASSIMP_INCLUDE_INSTALL_DIR}/assimp/Compiler COMPONENT assimp-dev)
12131224

0 commit comments

Comments
 (0)