From b8b189dcb2f56d4c3179063f457a72aea5b1f64b Mon Sep 17 00:00:00 2001 From: Palmer Dabbelt Date: Thu, 8 Aug 2019 14:36:27 -0700 Subject: [PATCH] cmake: Generate and install a pkg-config file I'm trying to build mtxclient, which expects a nlohmann_json pkg-config file to exist in the system. The meson builds install a pkg-config file, but the cmake builds don't. This adds a pkg-config file to the cmake builds that is functionally equivalent to the one generated from meson. Signed-off-by: Palmer Dabbelt --- CMakeLists.txt | 12 +++++++++++- pkg-config.pc.cmake | 4 ++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 pkg-config.pc.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index f717ff462..13b968565 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.1) ## PROJECT ## name and version ## -project(nlohmann_json VERSION 3.7.0 LANGUAGES CXX) +project(nlohmann_json VERSION 3.7.0 DESCRIPTION "JSON for Modern C++" LANGUAGES CXX) ## ## INCLUDE @@ -73,6 +73,12 @@ if (MSVC) ) endif() +# Install a pkg-config file, so other tools can find this. +CONFIGURE_FILE( + "${CMAKE_CURRENT_SOURCE_DIR}/pkg-config.pc.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc" +) + ## ## TESTS ## create and configure the unit test target @@ -128,4 +134,8 @@ if(JSON_Install) NAMESPACE ${PROJECT_NAME}:: DESTINATION ${NLOHMANN_JSON_CONFIG_INSTALL_DIR} ) + install( + FILES "${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc" + DESTINATION lib/pkgconfig + ) endif() diff --git a/pkg-config.pc.cmake b/pkg-config.pc.cmake new file mode 100644 index 000000000..680f10c26 --- /dev/null +++ b/pkg-config.pc.cmake @@ -0,0 +1,4 @@ +Name: ${PROJECT_NAME} +Description: ${PROJECT_DESCRIPTION} +Version: ${PROJECT_VERSION} +Cflags: -I${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}