From 53f779fa8db103f9650461134f7d0b617c165ade Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 20 Nov 2022 21:42:04 +0100 Subject: [PATCH] install CMake config file with exported targets (#575) --- CMakeLists.txt | 33 ++++++++++++++++++++++++++++++++ DebugUtils/CMakeLists.txt | 5 +++-- Detour/CMakeLists.txt | 5 +++-- DetourCrowd/CMakeLists.txt | 5 +++-- DetourTileCache/CMakeLists.txt | 5 +++-- Recast/CMakeLists.txt | 5 +++-- recastnavigation-config.cmake.in | 3 +++ 7 files changed, 51 insertions(+), 10 deletions(-) create mode 100644 recastnavigation-config.cmake.in diff --git a/CMakeLists.txt b/CMakeLists.txt index c3121c6..a3fe28d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,6 +15,7 @@ if(MSVC AND BUILD_SHARED_LIBS) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) endif() +include(CMakePackageConfigHelpers) include(GNUInstallDirs) configure_file( @@ -43,6 +44,38 @@ add_subdirectory(DetourCrowd) add_subdirectory(DetourTileCache) add_subdirectory(Recast) +configure_package_config_file( + ${PROJECT_SOURCE_DIR}/recastnavigation-config.cmake.in + recastnavigation-config.cmake + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/recastnavigation +) + +write_basic_package_version_file( + recastnavigation-config-version.cmake + VERSION ${LIB_VERSION} + COMPATIBILITY AnyNewerVersion +) + +export( + EXPORT recastnavigation-targets + NAMESPACE RecastNavigation:: + FILE recastnavigation-targets.cmake +) + +install( + EXPORT recastnavigation-targets + NAMESPACE RecastNavigation:: + FILE recastnavigation-targets.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/recastnavigation +) + +install( + FILES + ${PROJECT_BINARY_DIR}/recastnavigation-config.cmake + ${PROJECT_BINARY_DIR}/recastnavigation-config-version.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/recastnavigation +) + if (RECASTNAVIGATION_DEMO) add_subdirectory(RecastDemo) endif () diff --git a/DebugUtils/CMakeLists.txt b/DebugUtils/CMakeLists.txt index f6325c4..b04e67d 100644 --- a/DebugUtils/CMakeLists.txt +++ b/DebugUtils/CMakeLists.txt @@ -24,10 +24,11 @@ set_target_properties(DebugUtils PROPERTIES ) install(TARGETS DebugUtils + EXPORT recastnavigation-targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - COMPONENT library + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation ) file(GLOB INCLUDES Include/*.h) diff --git a/Detour/CMakeLists.txt b/Detour/CMakeLists.txt index a3ca808..0c12683 100644 --- a/Detour/CMakeLists.txt +++ b/Detour/CMakeLists.txt @@ -18,10 +18,11 @@ set_target_properties(Detour PROPERTIES ) install(TARGETS Detour + EXPORT recastnavigation-targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - COMPONENT library + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation ) file(GLOB INCLUDES Include/*.h) diff --git a/DetourCrowd/CMakeLists.txt b/DetourCrowd/CMakeLists.txt index 1a5d224..6ecd0dd 100644 --- a/DetourCrowd/CMakeLists.txt +++ b/DetourCrowd/CMakeLists.txt @@ -22,10 +22,11 @@ set_target_properties(DetourCrowd PROPERTIES ) install(TARGETS DetourCrowd + EXPORT recastnavigation-targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - COMPONENT library + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation ) file(GLOB INCLUDES Include/*.h) diff --git a/DetourTileCache/CMakeLists.txt b/DetourTileCache/CMakeLists.txt index 7b83556..fcd23d5 100644 --- a/DetourTileCache/CMakeLists.txt +++ b/DetourTileCache/CMakeLists.txt @@ -23,10 +23,11 @@ set_target_properties(DetourTileCache PROPERTIES install(TARGETS DetourTileCache + EXPORT recastnavigation-targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - COMPONENT library + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation ) file(GLOB INCLUDES Include/*.h) diff --git a/Recast/CMakeLists.txt b/Recast/CMakeLists.txt index de88b81..001430b 100644 --- a/Recast/CMakeLists.txt +++ b/Recast/CMakeLists.txt @@ -18,10 +18,11 @@ set_target_properties(Recast PROPERTIES ) install(TARGETS Recast + EXPORT recastnavigation-targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - COMPONENT library + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation ) file(GLOB INCLUDES Include/*.h) diff --git a/recastnavigation-config.cmake.in b/recastnavigation-config.cmake.in new file mode 100644 index 0000000..c6e232b --- /dev/null +++ b/recastnavigation-config.cmake.in @@ -0,0 +1,3 @@ +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/recastnavigation-targets.cmake")