diff --git a/Config.cmake.in b/Config.cmake.in index 96194f3c..66aaa498 100644 --- a/Config.cmake.in +++ b/Config.cmake.in @@ -1,5 +1,11 @@ @PACKAGE_INIT@ +include(CMakeFindDependencyMacro) + +find_package(tinygltf 2.6 REQUIRED + PATHS "${CMAKE_CURRENT_LIST_DIR}" +) + if(NOT TARGET IrrlichtMt::IrrlichtMt) include("${CMAKE_CURRENT_LIST_DIR}/IrrlichtMtTargets.cmake") endif() diff --git a/source/Irrlicht/CMakeLists.txt b/source/Irrlicht/CMakeLists.txt index d0c04d52..a4127453 100644 --- a/source/Irrlicht/CMakeLists.txt +++ b/source/Irrlicht/CMakeLists.txt @@ -324,7 +324,7 @@ endif() if(ANDROID) set(INSTALL_TARGETS IrrlichtMt native_app_glue) else() - set(INSTALL_TARGETS IrrlichtMt tinygltf) + set(INSTALL_TARGETS IrrlichtMt) endif() install(TARGETS ${INSTALL_TARGETS} 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()