diff --git a/CMakeLists.txt b/CMakeLists.txt index cd8c64c..d992f76 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.20) +cmake_minimum_required(VERSION 3.21) project( radhook @@ -8,10 +8,13 @@ project( ) option(BUILD_SHARED_LIBS "Build shared library" ON) +option(RADHOOK_BUILD_TESTS "Build radhook tests" ${PROJECT_IS_TOP_LEVEL}) -include(CTest) -enable_testing() -add_subdirectory(tests) +if(RADHOOK_BUILD_TESTS) + include(CTest) + enable_testing() + add_subdirectory(tests) +endif() add_library(radhook src/radhook.cpp @@ -78,7 +81,7 @@ install(TARGETS radhook ) install( - FILES include/radhook.hpp + DIRECTORY include/radhook DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) @@ -87,4 +90,25 @@ install( FILE radhookTargets.cmake NAMESPACE Radium:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/radhook +) + +include(CMakePackageConfigHelpers) + +configure_package_config_file( + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/radhookConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/radhookConfig.cmake + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/radhook +) + +write_basic_package_version_file( + ${CMAKE_CURRENT_BINARY_DIR}/radhookConfigVersion.cmake + VERSION ${PROJECT_VERSION} + COMPATIBILITY SameMajorVersion +) + +install( + FILES + ${CMAKE_CURRENT_BINARY_DIR}/radhookConfig.cmake + ${CMAKE_CURRENT_BINARY_DIR}/radhookConfigVersion.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/radhook ) \ No newline at end of file diff --git a/cmake/radhookConfig.cmake.in b/cmake/radhookConfig.cmake.in new file mode 100644 index 0000000..f282b02 --- /dev/null +++ b/cmake/radhookConfig.cmake.in @@ -0,0 +1,5 @@ +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/radhookTargets.cmake") + +check_required_components(radhook) \ No newline at end of file