rapidjson: fix cmake artifacts installation for non-default BASELIB case

If BASELIB is set to non-default value (like lib64),
next 'installed but not shipped' issue happens:
  /usr/lib
  /usr/lib/cmake
  /usr/lib/pkgconfig
  /usr/lib/cmake/RapidJSON
  /usr/lib/cmake/RapidJSON/RapidJSONConfigVersion.cmake
  /usr/lib/cmake/RapidJSON/RapidJSONConfig.cmake
  /usr/lib/pkgconfig/RapidJSON.pc

This is because rapidjson has library installation dir set
to 'lib' by default and hardcoded in another place.
Fix this by next changes:
 - set appropriate LIB_INSTALL_DIR
 - fix hardcoded 'lib' in CMAKECONFIG_INSTALL_DIR case

Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Ruslan Bilovol 2019-02-07 13:00:01 +02:00 committed by Khem Raj
parent c245374faf
commit 2e0fd78621
2 changed files with 39 additions and 2 deletions

View File

@ -0,0 +1,36 @@
From 8d272e53a4d1dc405e08ce2dd50159c58f4451e9 Mon Sep 17 00:00:00 2001
From: Ruslan Bilovol <rbilovol@cisco.com>
Date: Thu, 24 Jan 2019 18:11:39 +0200
Subject: [PATCH] CMake: remove hardcoded CMAKECONFIG_INSTALL_DIR path
Currently this path is hardcoded to lib/cmake.
Some distributions have different library path (like lib64).
So reuse LIB_INSTALL_DIR for that to make CMAKECONFIG_INSTALL_DIR
configurable and usable in such distros.
Upstream-Status: Backport [https://github.com/Tencent/rapidjson/commit/8d272e53a4d1dc405e08ce2dd50159c58f4451e9]
Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
---
CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7c60407..0275672 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -199,9 +199,9 @@ 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} )
+SET( CMAKECONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/${PROJECT_NAME} )
FILE( RELATIVE_PATH REL_INCLUDE_DIR
- "${CMAKE_INSTALL_PREFIX}/${CMAKECONFIG_INSTALL_DIR}"
+ "${CMAKECONFIG_INSTALL_DIR}"
"${CMAKE_INSTALL_PREFIX}/include" )
SET( ${PROJECT_NAME}_INCLUDE_DIR "\${${PROJECT_NAME}_CMAKE_DIR}/${REL_INCLUDE_DIR}" )
--
1.9.1

View File

@ -4,7 +4,8 @@ SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://license.txt;md5=ba04aa8f65de1396a7e59d1d746c2125"
SRC_URI = "git://github.com/miloyip/rapidjson.git;nobranch=1"
SRC_URI = "git://github.com/miloyip/rapidjson.git;nobranch=1 \
file://0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch"
SRCREV = "6a905f9311f82d306da77bd963ec5aa5da07da9c"
@ -14,7 +15,7 @@ S = "${WORKDIR}/git"
inherit cmake
EXTRA_OECMAKE += "-DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF"
EXTRA_OECMAKE += "-DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF -DLIB_INSTALL_DIR:STRING=${libdir}"
# RapidJSON is a header-only C++ library, so the main package will be empty.