CMakeLists: generate and install pkg-config file

Closes issue #212
This commit is contained in:
Peter A. Bigot 2018-04-20 09:18:42 -05:00
parent d857fbafde
commit 789d512c39
2 changed files with 21 additions and 1 deletions

View File

@ -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)

10
amqpcpp.pc.in Normal file
View File

@ -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}