diff --git a/Config.cmake.in b/Config.cmake.in index 6a55a6f6..7d541748 100644 --- a/Config.cmake.in +++ b/Config.cmake.in @@ -2,6 +2,9 @@ include(CMakeFindDependencyMacro) +find_package(tinygltf 2.6 REQUIRED + PATHS "${CMAKE_CURRENT_LIST_DIR}" + if(NOT TARGET IrrlichtMt::IrrlichtMt) # private dependency only explicitly needed with static libs if(@USE_SDL2@ AND NOT @BUILD_SHARED_LIBS@) diff --git a/source/lib/tinygltf/CMakeLists.txt b/source/lib/tinygltf/CMakeLists.txt index 7f86233b..782edd05 100644 --- a/source/lib/tinygltf/CMakeLists.txt +++ b/source/lib/tinygltf/CMakeLists.txt @@ -21,3 +21,46 @@ target_include_directories(tinygltf "$" "$" ) + +include(GNUInstallDirs) + +install(TARGETS tinygltf + EXPORT tinygltf-export + DESTINATION "${CMAKE_INSTALL_LIBDIR}" +) + +export(EXPORT tinygltf-export + FILE "${CMAKE_BINARY_DIR}/cmake/tinygltfTargets.cmake" + NAMESPACE tinygltf:: +) + +install( + DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/tinygltf" +) + +install(EXPORT tinygltf-export + FILE tinygltfTargets.cmake + NAMESPACE tinygltf:: + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/tinygltf" +) + +include(CMakePackageConfigHelpers) +configure_package_config_file("${PROJECT_SOURCE_DIR}/tinygltfConfig.cmake.in" + "${CMAKE_BINARY_DIR}/cmake/tinygltfConfig.cmake" + INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/tinygltf" + NO_SET_AND_CHECK_MACRO + NO_CHECK_REQUIRED_COMPONENTS_MACRO +) + +write_basic_package_version_file( + "${CMAKE_BINARY_DIR}/cmake/tinygltfConfigVersion.cmake" + COMPATIBILITY AnyNewerVersion +) + +install( + FILES + "${CMAKE_BINARY_DIR}/cmake/tinygltfConfig.cmake" + "${CMAKE_BINARY_DIR}/cmake/tinygltfConfigVersion.cmake" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/tinygltf" +) diff --git a/source/lib/tinygltf/tinygltfConfig.cmake.in b/source/lib/tinygltf/tinygltfConfig.cmake.in new file mode 100644 index 00000000..a129679c --- /dev/null +++ b/source/lib/tinygltf/tinygltfConfig.cmake.in @@ -0,0 +1,5 @@ +@PACKAGE_INIT@ + +if(NOT TARGET tinygltf::tinygltf) + include("${CMAKE_CURRENT_LIST_DIR}/tinygltfTargets.cmake") +endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9ac8c595..da20fbcd 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -578,7 +578,7 @@ endif() if(ANDROID) set(INSTALL_TARGETS IrrlichtMt tinygltf native_app_glue) else() - set(INSTALL_TARGETS IrrlichtMt tinygltf) + set(INSTALL_TARGETS IrrlichtMt) endif() install(TARGETS ${INSTALL_TARGETS}