From 1c0d6e4e054f1c5ac461e6da3a63c5f7acaa0a28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Du=C5=A1an=20Poizl?= Date: Wed, 17 May 2023 16:40:46 +0200 Subject: [PATCH] Add generation of pkgconfig file --- CMakeLists.txt | 11 ++++++++++- libxisf.pc.in | 13 +++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 libxisf.pc.in diff --git a/CMakeLists.txt b/CMakeLists.txt index a5c15aa..1102ec1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,8 @@ cmake_minimum_required(VERSION 3.14) -project(libXISF VERSION 0.2.3 LANGUAGES CXX C) +project(libXISF VERSION 0.2.3 LANGUAGES CXX C + HOMEPAGE_URL https://gitea.nouspiro.space/nou/libXISF + DESCRIPTION "LibXISF is C++ library that can read and write XISF files produced by PixInsight.") include(CMakeDependentOption) @@ -73,15 +75,19 @@ if(USE_BUNDLED_LIBS) target_include_directories(XISF PRIVATE ${THIRD_PARTY_INCLUDE}) if(NOT USE_BUNDLED_LZ4) target_link_libraries(XISF PUBLIC PkgConfig::LZ4) + list(APPEND PC_LIBS_REQUIRE lz4) endif(NOT USE_BUNDLED_LZ4) if(NOT USE_BUNDLED_PUGIXML) target_link_libraries(XISF PUBLIC PkgConfig::PUGIXML) + list(APPEND PC_LIBS_REQUIRE pugixml) endif(NOT USE_BUNDLED_PUGIXML) if(NOT USE_BUNDLED_ZLIB) target_link_libraries(XISF PUBLIC PkgConfig::ZLIB) + list(APPEND PC_LIBS_REQUIRE zlib) endif(NOT USE_BUNDLED_ZLIB) else(USE_BUNDLED_LIBS) target_link_libraries(XISF PUBLIC PkgConfig::LZ4 PkgConfig::PUGIXML PkgConfig::ZLIB) + list(APPEND PC_LIBS_REQUIRE lz4 pugixml zlib) endif(USE_BUNDLED_LIBS) set_target_properties(XISF PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}) @@ -97,8 +103,11 @@ set(XISF_PUBLIC_HEADERS libxisf.h libXISF_global.h) include(GNUInstallDirs) install(FILES ${XISF_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxisf.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) install(TARGETS XISF LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) +configure_file(libxisf.pc.in libxisf.pc @ONLY) + #testing enable_testing() diff --git a/libxisf.pc.in b/libxisf.pc.in new file mode 100644 index 0000000..b0b8b53 --- /dev/null +++ b/libxisf.pc.in @@ -0,0 +1,13 @@ +prefix="@CMAKE_INSTALL_PREFIX@" +exec_prefix="${prefix}" +libdir="${exec_prefix}/@CMAKE_INSTALL_LIBDIR@" +includedir="${prefix}/@CMAKE_INSTALL_INCLUDEDIR@" + +Name: @PROJECT_NAME@ +Description: @CMAKE_PROJECT_DESCRIPTION@ +URL: @CMAKE_PROJECT_HOMEPAGE_URL@ +Version: @PROJECT_VERSION@ +Requires.private: @PC_LIBS_REQUIRE@ +Cflags: -I"${includedir}" +Libs: -L"${libdir}" -lXISF +Libs.private: -L"${libdir}" @PC_LIBS_REQUIRE@