From 86d242c4c402020b743a3e0d85f072ee1fca7738 Mon Sep 17 00:00:00 2001 From: Sam V Date: Sat, 24 Sep 2022 17:06:10 +0200 Subject: [PATCH] Create CMake config file on install --- CMakeLists.txt | 35 ++++++++++++++++++++++++++++++++++- libnyquistConfig.cmake.in | 4 ++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 libnyquistConfig.cmake.in diff --git a/CMakeLists.txt b/CMakeLists.txt index a62a74b..dc22c08 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -167,7 +167,7 @@ endif() # libnyquist static library -project(libnyquist) +project(libnyquist VERSION 0.1.0) file(GLOB nyquist_include "${LIBNYQUIST_ROOT}/include/libnyquist/*") file(GLOB nyquist_src "${LIBNYQUIST_ROOT}/src/*") @@ -227,12 +227,45 @@ set_target_properties(libnyquist #target_link_libraries(libnyquist PRIVATE libwavpack) install(TARGETS libnyquist + EXPORT ${PROJECT_NAME}Targets LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin) install(TARGETS libnyquist DESTINATION lib) +install(DIRECTORY include/libnyquist + DESTINATION include) + +set(INSTALL_CMAKE_DIR "lib/cmake/${PROJECT_NAME}") +set(INSTALL_CMAKEDIR_ROOT share/cmake) + +# Install Targets +install(EXPORT ${PROJECT_NAME}Targets + FILE ${PROJECT_NAME}Targets.cmake + DESTINATION "${INSTALL_CMAKE_DIR}") + +include(CMakePackageConfigHelpers) +write_basic_package_version_file( + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake + VERSION ${PROJECT_VERSION} + COMPATIBILITY SameMajorVersion + ) + +configure_package_config_file( + ${PROJECT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake + INSTALL_DESTINATION ${INSTALL_CMAKEDIR_ROOT}/${PROJECT_NAME} + ) + +install( + FILES + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake + DESTINATION + ${INSTALL_CMAKE_DIR} + ) + # folders source_group(src FILES ${nyquist_src}) diff --git a/libnyquistConfig.cmake.in b/libnyquistConfig.cmake.in new file mode 100644 index 0000000..20a88c5 --- /dev/null +++ b/libnyquistConfig.cmake.in @@ -0,0 +1,4 @@ +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/libnyquistTargets.cmake") +check_required_components(libnyquist)