From 41a19a3b4605668991ff9cc18f635016d83c47b8 Mon Sep 17 00:00:00 2001 From: Martin Killenberg <martin.killenberg@desy.de> Date: Tue, 16 Feb 2021 15:57:58 +0100 Subject: [PATCH] added support for pkgconfig --- cmake/PROJECT_NAME.pc.in.in | 5 +++++ cmake/create_cmake_config_files.cmake | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 cmake/PROJECT_NAME.pc.in.in diff --git a/cmake/PROJECT_NAME.pc.in.in b/cmake/PROJECT_NAME.pc.in.in new file mode 100644 index 0000000..b9ef4cf --- /dev/null +++ b/cmake/PROJECT_NAME.pc.in.in @@ -0,0 +1,5 @@ +Name: @PROJECT_NAME@ +Description: Config for @PROJECT_NAME@ +Version: @@PROJECT_NAME@_SOVERSION@ +Cflags: @@PROJECT_NAME@_CXX_FLAGS_MAKEFILE@ +Libs: @@PROJECT_NAME@_LINKER_FLAGS_MAKEFILE@ diff --git a/cmake/create_cmake_config_files.cmake b/cmake/create_cmake_config_files.cmake index 44b5a9e..6924fac 100644 --- a/cmake/create_cmake_config_files.cmake +++ b/cmake/create_cmake_config_files.cmake @@ -27,7 +27,7 @@ # ####################################################################################################################### -# create variables for standard makefiles +# create variables for standard makefiles and pkgconfig set(${PROJECT_NAME}_CXX_FLAGS_MAKEFILE "${${PROJECT_NAME}_CXX_FLAGS}") string(REPLACE " " ";" LIST "${${PROJECT_NAME}_INCLUDE_DIRS}") @@ -79,6 +79,11 @@ configure_file(${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake.in configure_file(cmake/PROJECT_NAME-config.in.in "${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}-config.in" @ONLY) configure_file(${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}-config.in "${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config" @ONLY) +# create the pkgconfig file +configure_file(cmake/PROJECT_NAME.pc.in.in "${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}.pc.in" @ONLY) +configure_file(${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}.pc.in "${PROJECT_BINARY_DIR}/${PROJECT_NAME}.pc" @ONLY) + + # install cmake find_package configuration file install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" DESTINATION lib/cmake/${PROJECT_NAME} COMPONENT dev) @@ -92,3 +97,5 @@ install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" # install script for Makefiles install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config DESTINATION bin COMPONENT dev) +# install configuration file for pkgconfig +install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}.pc" DESTINATION share/pkgconfig COMPONENT dev) -- GitLab