diff --git a/CMakeLists.txt b/CMakeLists.txt index db09185..2539735 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -194,12 +194,40 @@ endif () include(GNUInstallDirs) -install(TARGETS SimpleAmqpClient +include(CMakePackageConfigHelpers) +set(SAC_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/SimpleAmqpClient) +set(project_config "${CMAKE_CURRENT_BINARY_DIR}/SimpleAmqpClientConfig.cmake") +set(version_config "${CMAKE_CURRENT_BINARY_DIR}/SimpleAmqpClientConfig-version.cmake") +set(targets_export_name SimpleAmqpClient-targets) +list(APPEND INSTALL_TARGETS SimpleAmqpClient) + +write_basic_package_version_file( + "${version_config}" + VERSION ${SAC_VERSION} + COMPATIBILITY AnyNewerVersion + ) + +configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/cmake/SimpleAmqpClientConfig.cmake.in" + "${project_config}" + INSTALL_DESTINATION "${SAC_CMAKE_DIR}" + ) + +install(TARGETS ${INSTALL_TARGETS} EXPORT ${targets_export_name} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) +install(FILES ${project_config} ${version_config} + DESTINATION ${SAC_CMAKE_DIR} + ) + +install(EXPORT ${targets_export_name} + DESTINATION ${SAC_CMAKE_DIR} + NAMESPACE SimpleAmqpClient:: + ) + install(FILES src/SimpleAmqpClient/AmqpException.h src/SimpleAmqpClient/AmqpLibraryException.h diff --git a/cmake/SimpleAmqpClientConfig.cmake.in b/cmake/SimpleAmqpClientConfig.cmake.in new file mode 100644 index 0000000..3df8c67 --- /dev/null +++ b/cmake/SimpleAmqpClientConfig.cmake.in @@ -0,0 +1,3 @@ +@PACKAGE_INIT@ + +include(${CMAKE_CURRENT_LIST_DIR}/@targets_export_name@.cmake)