From e017770d9b2ec81fe059139942a2f477e8eeeec8 Mon Sep 17 00:00:00 2001 From: "L. E. Segovia" Date: Tue, 17 Nov 2020 22:57:09 +0000 Subject: [PATCH 3/6] cmake: library versioning info for CMake itself --- CMakeLists.txt | 20 +++++++++++++++++++- libmypaint-config.cmake.in | 11 +++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 libmypaint-config.cmake.in diff --git a/CMakeLists.txt b/CMakeLists.txt index f96da7f..ea6071b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,7 @@ LIST (APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}") find_package(ECM 5.22 REQUIRED NOMODULE) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) include(CMakePackageConfigHelpers) +include(KDEInstallDirs) find_package(JsonC) @@ -63,7 +64,12 @@ set(mypaint_HEADERS add_library(mypaint SHARED ${mypaint_SOURCES} ${mypaint_HEADERS}) target_link_libraries(mypaint PRIVATE ${JSONC_LIBRARIES}) set_property(TARGET mypaint PROPERTY C_STANDARD 11) -install(TARGETS mypaint RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) +install(TARGETS mypaint + EXPORT libmypaintTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) install(FILES ${mypaint_HEADERS} DESTINATION include) if(JsonC_FOUND) @@ -74,3 +80,15 @@ endif() configure_file("libmypaint.pc.in" "libmypaint.pc" @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libmypaint.pc" DESTINATION lib/pkgconfig) + +configure_package_config_file( + "libmypaint-config.cmake.in" "libmypaint-config.cmake" + INSTALL_DESTINATION lib/cmake/libmypaint + PATH_VARS CMAKE_INSTALL_PREFIX CMAKE_INSTALL_LIBDIR CMAKE_INSTALL_INCLUDEDIR) +write_basic_package_version_file(libmypaint-config-version.cmake + COMPATIBILITY SameMinorVersion) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libmypaint-config-version.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/libmypaint-config.cmake" + DESTINATION lib/cmake/libmypaint) + +install(EXPORT libmypaintTargets DESTINATION lib/cmake/libmypaint) diff --git a/libmypaint-config.cmake.in b/libmypaint-config.cmake.in new file mode 100644 index 0000000..752d388 --- /dev/null +++ b/libmypaint-config.cmake.in @@ -0,0 +1,11 @@ +@PACKAGE_INIT@ + +set(libmypaint_VERSION @libmypaint_VERSION@) + +set_and_check(libmypaint_DIR @PACKAGE_CMAKE_INSTALL_PREFIX@) +set_and_check(libmypaint_LIBRARY_DIRS @PACKAGE_CMAKE_INSTALL_LIBDIR@) +set_and_check(libmypaint_INCLUDE_DIRS @PACKAGE_CMAKE_INSTALL_INCLUDEDIR@) + +include("${CMAKE_CURRENT_LIST_DIR}/libmypaintTargets.cmake") + +set(libmypaint_FOUND TRUE) -- 2.54.0