aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRuslan Bilovol <rbilovol@cisco.com>2019-02-07 13:00:01 +0200
committerKhem Raj <raj.khem@gmail.com>2019-02-07 10:06:29 -0800
commit2e0fd78621b05acb6df58adf910373a8814b70a1 (patch)
treedbf98a7d15c3c9f9a9a149e054cf1fa568914d48
parentc245374fafbc4769e0c98ae18ac9ff71f9f14169 (diff)
downloadmeta-openembedded-contrib-2e0fd78621b05acb6df58adf910373a8814b70a1.tar.gz
meta-openembedded-contrib-2e0fd78621b05acb6df58adf910373a8814b70a1.tar.bz2
meta-openembedded-contrib-2e0fd78621b05acb6df58adf910373a8814b70a1.zip
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>
-rw-r--r--meta-oe/recipes-devtools/rapidjson/rapidjson/0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch36
-rw-r--r--meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb5
2 files changed, 39 insertions, 2 deletions
diff --git a/meta-oe/recipes-devtools/rapidjson/rapidjson/0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch b/meta-oe/recipes-devtools/rapidjson/rapidjson/0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch
new file mode 100644
index 0000000000..745f5d0132
--- /dev/null
+++ b/meta-oe/recipes-devtools/rapidjson/rapidjson/0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch
@@ -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
+
diff --git a/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb b/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
index c90eab043b..e3ed9c6a17 100644
--- a/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
+++ b/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
@@ -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.