json-c++: add pkg-config patch.

This patch already exists upstream, but is needed for nwg-launchers.
This commit is contained in:
Érico Rolim 2020-07-15 14:15:30 -03:00 committed by Piraty
parent efdb4635ee
commit 17e226606a
2 changed files with 60 additions and 1 deletions

View file

@ -0,0 +1,59 @@
From c7d18c16259048878ab566c30aea2078a94b58fe Mon Sep 17 00:00:00 2001
From: Palmer Dabbelt <palmer@dabbelt.com>
Date: Thu, 8 Aug 2019 14:36:27 -0700
Subject: [PATCH] cmake: Generate and install a pkg-config file.
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.
---
CMakeLists.txt | 12 +++++++++++-
cmake/pkg-config.pc.in | 4 ++++
2 files changed, 15 insertions(+), 1 deletion(-)
create mode 100644 cmake/pkg-config.pc.in
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f7ba4fa38..372a7a03a 100644
--- CMakeLists.txt
+++ CMakeLists.txt
@@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.1)
## PROJECT
## name and version
##
-project(nlohmann_json VERSION 3.8.0 LANGUAGES CXX)
+project(nlohmann_json VERSION 3.8.0 DESCRIPTION "JSON for Modern C++" LANGUAGES CXX)
##
## INCLUDE
@@ -79,6 +79,12 @@ if (MSVC)
)
endif()
+# Install a pkg-config file, so other tools can find this.
+CONFIGURE_FILE(
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake/pkg-config.pc.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc"
+)
+
##
## TESTS
## create and configure the unit test target
@@ -139,4 +145,8 @@ endif()
NAMESPACE ${PROJECT_NAME}::
DESTINATION ${NLOHMANN_JSON_CONFIG_INSTALL_DIR}
)
+ install(
+ FILES "${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc"
+ DESTINATION lib/pkgconfig
+ )
endif()
diff --git a/cmake/pkg-config.pc.in b/cmake/pkg-config.pc.in
new file mode 100644
index 000000000..680f10c26
--- /dev/null
+++ cmake/pkg-config.pc.in
@@ -0,0 +1,4 @@
+Name: ${PROJECT_NAME}
+Description: ${PROJECT_DESCRIPTION}
+Version: ${PROJECT_VERSION}
+Cflags: -I${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}

View file

@ -1,7 +1,7 @@
# Template file for 'json-c++'
pkgname=json-c++
version=3.8.0
revision=1
revision=2
wrksrc="json-${version}"
build_style=cmake
short_desc="JSON for modern C++"