diff --git a/CMakeLists.txt b/CMakeLists.txt index 1308e7d..9eba12e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.12) -project("dbcppp" VERSION 3.8.0) +project("dbcppp" VERSION 3.2.6) # CONFIGURATION @@ -69,20 +69,54 @@ set_target_properties(${PROJECT_NAME} PROPERTIES ) target_include_directories(${PROJECT_NAME} PUBLIC - $ - $ - include/ + $ + $ ) # INSTALL LIBRARY install(TARGETS ${PROJECT_NAME} + EXPORT ${PROJECT_NAME}-targets RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib PUBLIC_HEADER DESTINATION include/dbcppp ) +include(CMakePackageConfigHelpers) +include(GNUInstallDirs) +set(install_cmake_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") + +configure_package_config_file( + ${CMAKE_SOURCE_DIR}/cmake/Config.cmake.in + ${CMAKE_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake + INSTALL_DESTINATION ${install_cmake_dir} +) + +write_basic_package_version_file( + ${CMAKE_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake + VERSION ${VERSION} + COMPATIBILITY AnyNewerVersion +) + +# Export targets for build tree +export(TARGETS ${PROJECT_NAME} + FILE cmake/${PROJECT_NAME}Targets.cmake + NAMESPACE ${PROJECT_NAME}:: +) + +# Export targets for install tree +install(EXPORT ${PROJECT_NAME}-targets + FILE ${PROJECT_NAME}Targets.cmake + NAMESPACE ${PROJECT_NAME}:: + DESTINATION ${install_cmake_dir} +) + +install(FILES + ${CMAKE_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake + ${CMAKE_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake + DESTINATION ${install_cmake_dir} +) # ADDITIONAL: Tools, Tests & Examples diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in new file mode 100644 index 0000000..cf416f5 --- /dev/null +++ b/cmake/Config.cmake.in @@ -0,0 +1,3 @@ +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@Targets.cmake")