rapidjson: Fix case in cmake variables

This changes the variable RapidJSON_INCLUDE_DIR(S) to RAPIDJSON_INCLUDE_DIR(S)
This commit is contained in:
Biswapriyo Nath
2023-07-21 00:42:50 +05:30
parent 1a13778f46
commit b990cd2e2a
2 changed files with 89 additions and 3 deletions

View File

@@ -0,0 +1,83 @@
From b91c515afea9f0ba6a81fc670889549d77c83db3 Mon Sep 17 00:00:00 2001
From: Clemens Arth <arth@icg.tugraz.at>
Date: Tue, 14 Mar 2017 10:27:36 +0100
Subject: [PATCH] update to create config file which is independent from actual
install location
---
CMakeLists.txt | 38 +++++++++++++++++++++++++++++---------
RapidJSONConfig.cmake.in | 18 +++++++++++++++---
2 files changed, 44 insertions(+), 12 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9257926c1..d6823a8aa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -173,15 +173,35 @@ install(DIRECTORY example/
# Provide config and version files to be used by other applications
# ===============================
-export(PACKAGE ${PROJECT_NAME})
-
-# cmake-modules
-CONFIGURE_FILE(${PROJECT_NAME}Config.cmake.in
- ${PROJECT_NAME}Config.cmake
- @ONLY)
-CONFIGURE_FILE(${PROJECT_NAME}ConfigVersion.cmake.in
- ${PROJECT_NAME}ConfigVersion.cmake
- @ONLY)
+################################################################################
+# Export package for use from the build tree
+EXPORT( PACKAGE ${PROJECT_NAME} )
+
+# Create the RapidJSONConfig.cmake file for other cmake projects.
+# ... for the build tree
+SET( CONFIG_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
+SET( CONFIG_DIR ${CMAKE_CURRENT_BINARY_DIR})
+CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in
+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake @ONLY )
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}ConfigVersion.cmake.in
+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake @ONLY)
+
+# ... for the install tree
+SET( CMAKECONFIG_INSTALL_DIR lib/cmake/${PROJECT_NAME} )
+FILE( RELATIVE_PATH REL_INCLUDE_DIR
+ "${CMAKE_INSTALL_PREFIX}/${CMAKECONFIG_INSTALL_DIR}"
+ "${CMAKE_INSTALL_PREFIX}/include" )
+
+SET( ${PROJECT_NAME}_INCLUDE_DIR "\${${PROJECT_NAME}_CMAKE_DIR}/${REL_INCLUDE_DIR}" )
+SET( CONFIG_SOURCE_DIR )
+SET( CONFIG_DIR )
+CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in
+ ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PROJECT_NAME}Config.cmake @ONLY )
+
+INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PROJECT_NAME}Config.cmake"
+ DESTINATION ${CMAKECONFIG_INSTALL_DIR} )
+
+# Install files
INSTALL(FILES
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
diff --git a/RapidJSONConfig.cmake.in b/RapidJSONConfig.cmake.in
index 9fa12186a..e3c65a541 100644
--- a/RapidJSONConfig.cmake.in
+++ b/RapidJSONConfig.cmake.in
@@ -1,3 +1,15 @@
-get_filename_component(RAPIDJSON_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
-set(RAPIDJSON_INCLUDE_DIRS "@INCLUDE_INSTALL_DIR@")
-message(STATUS "RapidJSON found. Headers: ${RAPIDJSON_INCLUDE_DIRS}")
+################################################################################
+# RapidJSON source dir
+set( RapidJSON_SOURCE_DIR "@CONFIG_SOURCE_DIR@")
+
+################################################################################
+# RapidJSON build dir
+set( RapidJSON_DIR "@CONFIG_DIR@")
+
+################################################################################
+# Compute paths
+get_filename_component(RapidJSON_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+
+set( RAPIDJSON_INCLUDE_DIR "@RapidJSON_INCLUDE_DIR@" )
+set( RAPIDJSON_INCLUDE_DIRS "@RapidJSON_INCLUDE_DIR@" )
+message(STATUS "RapidJSON found. Headers: ${RAPIDJSON_INCLUDE_DIRS}")

View File

@@ -4,7 +4,7 @@ _realname=rapidjson
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.1.0
pkgrel=6
pkgrel=7
pkgdesc='A fast JSON parser/generator for C++ with both SAX/DOM style API (mingw-w64)'
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64')
@@ -22,7 +22,7 @@ source=("${_realname}-${pkgver}.tar.gz::https://github.com/Tencent/rapidjson/arc
'0005-PrettyWriter.patch'
'0006-aarch64.patch'
'0007-fix-pkgconfig-file.patch'
"0008-cmake-relocate-dirs.patch::https://github.com/Tencent/rapidjson/commit/0bc856a747ce6b56107c29c80e5f86eb0fee151e.patch")
'0008-cmake-relocate-dirs.patch')
sha256sums=('bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e'
'5a838fe611b367f8939231aae1f604f83fd97108d3b2ac66def00ff1205afcf2'
'8160d2ef142055cecb520b23cf11e90e0a6e92719427fa33755800cc748cf8be'
@@ -31,7 +31,7 @@ sha256sums=('bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e'
'e3efdb8263bafb3fc3af7558c7f57f9d8a3d2ab231f05c693cc615d7784cd320'
'a2bd02572ffd4eb39d2248b3e818072d07948a65cb440f90d2fd5688e370570b'
'3c186ea46d4ab1b67f4cd577799a059b6312dd43bf7b28e0b86c0a1bedac5cf8'
'4d67f350c00347d1951ff45f097353c7849fae707230cf4526030054579fec98')
'3e5bc65df66e77e183c8046e3133132606c969754930a999f318f5ca5c6bd190')
prepare() {
cd "${_realname}-${pkgver}"
@@ -50,6 +50,9 @@ prepare() {
fi
patch -p1 -i "${srcdir}/0007-fix-pkgconfig-file.patch"
# With uppercase RAPIDJSON_ variables, using
# https://github.com/Tencent/rapidjson/commit/0bc856a747ce6b56107c29c80e5f86eb0fee151e
patch -p1 -i "${srcdir}/0008-cmake-relocate-dirs.patch"
find -name CMakeLists.txt | xargs sed -e 's|-Werror||' -i # Don't use -Werror