From 0dd16d7118f10ac291a45644769121cbdfd2352f Mon Sep 17 00:00:00 2001 From: TheCharlatan Date: Wed, 4 Sep 2024 22:02:34 +0200 Subject: [PATCH] build: Add a pkg-config file for libbitcoinkernel --- libbitcoinkernel.pc.in | 11 +++++++++++ src/kernel/CMakeLists.txt | 8 ++++++++ 2 files changed, 19 insertions(+) create mode 100644 libbitcoinkernel.pc.in diff --git a/libbitcoinkernel.pc.in b/libbitcoinkernel.pc.in new file mode 100644 index 00000000000..a2cb7d3692e --- /dev/null +++ b/libbitcoinkernel.pc.in @@ -0,0 +1,11 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} +libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ +includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ + +Name: @PACKAGE_NAME@ kernel library +Description: Experimental library for the Bitcoin Core validation engine. +Version: @PACKAGE_VERSION@ +Libs: -L${libdir} -lbitcoinkernel +Libs.private: -L${libdir} @LIBS_PRIVATE@ +Cflags: -I${includedir} diff --git a/src/kernel/CMakeLists.txt b/src/kernel/CMakeLists.txt index a7475feb7f0..5b62bba1c01 100644 --- a/src/kernel/CMakeLists.txt +++ b/src/kernel/CMakeLists.txt @@ -119,11 +119,19 @@ if(NOT BUILD_SHARED_LIBS) set(all_kernel_static_link_libs "") get_target_static_link_libs(bitcoinkernel all_kernel_static_link_libs) + # LIBS_PRIVATE is substituted in the pkg-config file. + set(LIBS_PRIVATE "") foreach(lib ${all_kernel_static_link_libs}) install(TARGETS ${lib} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + string(APPEND LIBS_PRIVATE " -l${lib}") endforeach() + + string(STRIP "${LIBS_PRIVATE}" LIBS_PRIVATE) endif() +configure_file(${PROJECT_SOURCE_DIR}/libbitcoinkernel.pc.in ${PROJECT_BINARY_DIR}/libbitcoinkernel.pc @ONLY) +install(FILES ${PROJECT_BINARY_DIR}/libbitcoinkernel.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + include(GNUInstallDirs) install(TARGETS bitcoinkernel RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}