From a4030cd82903f713f429d1ad044713a37e0333ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Wed, 21 Jun 2023 09:35:40 -0400 Subject: [PATCH] add pkgconfig file Change-Id: I8948adf1e15a2baad3d67400d8940902807bf9ed --- CMakeLists.txt | 14 ++++++++++++-- dhtnet.pc.in | 10 ++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 dhtnet.pc.in diff --git a/CMakeLists.txt b/CMakeLists.txt index b84dcfa..161d535 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,10 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) include(CTest) include(GNUInstallDirs) +set (prefix ${CMAKE_INSTALL_PREFIX}) +set (exec_prefix "\${prefix}") +set (libdir "${CMAKE_INSTALL_FULL_LIBDIR}") +set (includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}") find_package (PkgConfig REQUIRED) find_package(msgpack REQUIRED QUIET CONFIG NAMES msgpack msgpack-cxx) @@ -39,12 +43,18 @@ target_include_directories(dhtnet PUBLIC $<INSTALL_INTERFACE:include> ) target_compile_definitions(dhtnet PUBLIC PJ_AUTOCONF=1) - set_target_properties(dhtnet PROPERTIES PUBLIC_HEADER "${dhtnet_HEADERS}") + +configure_file(dhtnet.pc.in dhtnet.pc @ONLY) + install(TARGETS dhtnet PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dhtnet ) +# Install targets +install (DIRECTORY include DESTINATION ${CMAKE_INSTALL_PREFIX}) +install (FILES ${CMAKE_CURRENT_BINARY_DIR}/opendht.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + if (BUILD_TESTING AND NOT MSVC) pkg_search_module(Cppunit REQUIRED IMPORTED_TARGET cppunit) add_executable(tests_certstore tests/certstore.cpp) @@ -62,4 +72,4 @@ if (BUILD_TESTING AND NOT MSVC) #add_executable(tests_stringutils tests/testString_utils.cpp) #target_link_libraries(tests_stringutils PRIVATE dhtnet fmt::fmt PkgConfig::Cppunit) #add_test(NAME tests_stringutils COMMAND tests_stringutils) -endif() \ No newline at end of file +endif() diff --git a/dhtnet.pc.in b/dhtnet.pc.in new file mode 100644 index 0000000..1e3faa6 --- /dev/null +++ b/dhtnet.pc.in @@ -0,0 +1,10 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +Name: dhtnet +Description: C++ peer to peer networking library +Version: @VERSION@ +Requires: opendht >= 2.6 +Requires.private: pjproject +Cflags: -I${includedir} -- GitLab