Skip to content

Commit 0dd16d7

Browse files
committed
build: Add a pkg-config file for libbitcoinkernel
1 parent 45be32f commit 0dd16d7

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

libbitcoinkernel.pc.in

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
prefix=@CMAKE_INSTALL_PREFIX@
2+
exec_prefix=${prefix}
3+
libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
4+
includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
5+
6+
Name: @PACKAGE_NAME@ kernel library
7+
Description: Experimental library for the Bitcoin Core validation engine.
8+
Version: @PACKAGE_VERSION@
9+
Libs: -L${libdir} -lbitcoinkernel
10+
Libs.private: -L${libdir} @LIBS_PRIVATE@
11+
Cflags: -I${includedir}

src/kernel/CMakeLists.txt

+8
Original file line numberDiff line numberDiff line change
@@ -119,11 +119,19 @@ if(NOT BUILD_SHARED_LIBS)
119119
set(all_kernel_static_link_libs "")
120120
get_target_static_link_libs(bitcoinkernel all_kernel_static_link_libs)
121121

122+
# LIBS_PRIVATE is substituted in the pkg-config file.
123+
set(LIBS_PRIVATE "")
122124
foreach(lib ${all_kernel_static_link_libs})
123125
install(TARGETS ${lib} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
126+
string(APPEND LIBS_PRIVATE " -l${lib}")
124127
endforeach()
128+
129+
string(STRIP "${LIBS_PRIVATE}" LIBS_PRIVATE)
125130
endif()
126131

132+
configure_file(${PROJECT_SOURCE_DIR}/libbitcoinkernel.pc.in ${PROJECT_BINARY_DIR}/libbitcoinkernel.pc @ONLY)
133+
install(FILES ${PROJECT_BINARY_DIR}/libbitcoinkernel.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
134+
127135
include(GNUInstallDirs)
128136
install(TARGETS bitcoinkernel
129137
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}

0 commit comments

Comments
 (0)