From bd43d3c767b3e36bad43228aa535612ab9d447a5 Mon Sep 17 00:00:00 2001 From: Alexander Damian Date: Fri, 26 Apr 2019 16:19:54 -0400 Subject: [PATCH] Support for generating pkg-config file --- cppkafka.pc.in | 14 ++++++++++++++ include/cppkafka/CMakeLists.txt | 2 +- src/CMakeLists.txt | 12 +++++++++++- 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 cppkafka.pc.in diff --git a/cppkafka.pc.in b/cppkafka.pc.in new file mode 100644 index 0000000..a3450af --- /dev/null +++ b/cppkafka.pc.in @@ -0,0 +1,14 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} +libdir=${prefix}/lib +sharedlibdir=${prefix}/lib +includedir=${prefix}/include + +Name: cppkafka +Url: https://github.com/mfontanini/cppkafka +Description: C++ wrapper library on top of RdKafka +Version: @CPPKAFKA_VERSION@ +Requires: librdkafka >= 0.9.4 +Requires.private: +Libs: -L${libdir} -L${sharedlibdir} -L@RDKAFKA_ROOT_DIR@/lib -lcppkafka -lrdkafka -lpthread -lrt -lssl -lcrypto -ldl -lz +Cflags: -I${includedir} -I${includedir}/cppkafka -I@RDKAFKA_ROOT_DIR@/include diff --git a/include/cppkafka/CMakeLists.txt b/include/cppkafka/CMakeLists.txt index 2faeac6..18bd1bd 100644 --- a/include/cppkafka/CMakeLists.txt +++ b/include/cppkafka/CMakeLists.txt @@ -10,7 +10,7 @@ function(make_cppkafka_header) endforeach() #create file from template - configure_file(${PROJECT_SOURCE_DIR}/cppkafka.h.in ${CPPKAFKA_HEADER}) + configure_file(${PROJECT_SOURCE_DIR}/cppkafka.h.in ${CPPKAFKA_HEADER} @ONLY) endfunction() # Run file generation function diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5d31078..3911fc8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -41,9 +41,19 @@ endif() target_link_libraries(cppkafka ${DEPENDENCIES}) target_include_directories(cppkafka PUBLIC ${PROJECT_SOURCE_DIR}/include) -install( +install( TARGETS cppkafka LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT dev ) + +# Generate package configuration file +set(PKG_CONFIG ${PROJECT_SOURCE_DIR}/package/cppkafka.pc) +configure_file(${PROJECT_SOURCE_DIR}/cppkafka.pc.in ${PKG_CONFIG} @ONLY) + +install( + FILES PKG_CONFIG + DESTINATION share/pkgconfig + COMPONENT pkgconfig +)