From 789d512c39a8833eb755698da605cbbbce025b6b Mon Sep 17 00:00:00 2001 From: "Peter A. Bigot" Date: Fri, 20 Apr 2018 09:18:42 -0500 Subject: [PATCH] CMakeLists: generate and install pkg-config file Closes issue #212 --- CMakeLists.txt | 12 +++++++++++- amqpcpp.pc.in | 10 ++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 amqpcpp.pc.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 0b0f054..16da749 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,6 +14,10 @@ cmake_minimum_required(VERSION 3.2 FATAL_ERROR) # project name project(amqpcpp) +set (VERSION_MAJOR 3) +set (VERSION_MINOR 0) +set (VERSION_PATCH 2) +set (SO_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}) # build options option(AMQP-CPP_BUILD_SHARED "Build shared library. If off, build will be static." OFF) @@ -75,7 +79,7 @@ if(AMQP-CPP_BUILD_SHARED) # create shared lib add_library(${PROJECT_NAME} SHARED ${SRCS}) # set shared lib version - set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION 3.0) + set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${SO_VERSION}) else() # create static lib add_library(${PROJECT_NAME} STATIC ${SRCS}) @@ -105,3 +109,9 @@ install(FILES include/amqpcpp.h DESTINATION include) install(EXPORT ${PROJECT_NAME}Config DESTINATION cmake) export(TARGETS ${PROJECT_NAME} FILE ${PROJECT_NAME}Config.cmake) + +set(DEST_DIR "${CMAKE_INSTALL_PREFIX}") +set(PRIVATE_LIBS "-llibamqpcc") +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/amqpcpp.pc.in" + "${CMAKE_CURRENT_BINARY_DIR}/amqpcpp.pc" @ONLY) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/amqpcpp.pc" DESTINATION lib/pkgconfig) diff --git a/amqpcpp.pc.in b/amqpcpp.pc.in new file mode 100644 index 0000000..603addc --- /dev/null +++ b/amqpcpp.pc.in @@ -0,0 +1,10 @@ +prefix=@DEST_DIR@ +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: amqpcpp +Description: AMQP-CPP is a C++ library for communicating with a RabbitMQ message broker +Version: @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@ + +Libs: -L${libdir} -lamqpcpp +Cflags: -I${includedir}