Do CMake right

This commit is contained in:
JosiahWI 2022-10-16 19:02:18 -05:00 committed by Josiah VanderZee
parent a3b2dbdebb
commit a0b7a15693
4 changed files with 52 additions and 1 deletions

View File

@ -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@)

View File

@ -21,3 +21,46 @@ target_include_directories(tinygltf
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
"$<INSTALL_INTERFACE:./>"
)
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"
)

View File

@ -0,0 +1,5 @@
@PACKAGE_INIT@
if(NOT TARGET tinygltf::tinygltf)
include("${CMAKE_CURRENT_LIST_DIR}/tinygltfTargets.cmake")
endif()

View File

@ -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}