mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-13 17:39:57 +00:00
rocksdb: Add an option to set static library
Modify the CMakeLists.txt to add an Option for STATIC target import, as available for shared library. Link: https://github.com/facebook/rocksdb/pull/12890 Configure static library as option, default to ON. Provides option to make it off thru PACKCONFIG, if needed. Signed-off-by: Bhabu Bindu <bindu.bhabu@kpit.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit233079a41c) Signed-off-by: Armin Kuster <akuster808@gmail.com> (cherry picked from commit72018ca1b1) Signed-off-by: Zahir Hussain <zahir.basha@kpit.com> Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
This commit is contained in:
committed by
Gyorgy Sarvari
parent
631e0ac2f0
commit
33822593e5
@@ -0,0 +1,72 @@
|
||||
From 285d306494bde3e9c24c8cd6fea1eb380a304d03 Mon Sep 17 00:00:00 2001
|
||||
From: Bindu-Bhabu <bindudaniel1996@gmail.com>
|
||||
Date: Fri, 26 Jul 2024 15:14:45 +0530
|
||||
Subject: Add option to CMake for building static libraries
|
||||
|
||||
ROCKSDB creates a STATIC library target reference by default.
|
||||
Modify the cmake so that the STATIC library is also an option
|
||||
just like creating a SHARED library and set default to ON.
|
||||
refersh the patch according to kirkstone version.
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/12890]
|
||||
|
||||
Signed-off-by: Nisha Parrakat <nisha.m.parrakat@bmw.de>
|
||||
Signed-off-by: Bindu Bhabu <bhabu.bindu@kpit.com>
|
||||
Signed-off-by: Zahir Hussain <zahir.basha@kpit.com>
|
||||
---
|
||||
CMakeLists.txt | 25 +++++++++++++++----------
|
||||
1 file changed, 15 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index b68a82b..6f0de6f 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -919,6 +919,7 @@ set(ROCKSDB_STATIC_LIB rocksdb${ARTIFACT_SUFFIX})
|
||||
set(ROCKSDB_SHARED_LIB rocksdb-shared${ARTIFACT_SUFFIX})
|
||||
|
||||
option(ROCKSDB_BUILD_SHARED "Build shared versions of the RocksDB libraries" ON)
|
||||
+option(ROCKSDB_BUILD_STATIC "Build static versions of the RocksDB libraries" ON)
|
||||
|
||||
option(WITH_LIBRADOS "Build with librados" OFF)
|
||||
if(WITH_LIBRADOS)
|
||||
@@ -938,9 +939,11 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
-add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES} ${BUILD_VERSION_CC})
|
||||
-target_link_libraries(${ROCKSDB_STATIC_LIB} PRIVATE
|
||||
- ${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
|
||||
+if(ROCKSDB_BUILD_STATIC)
|
||||
+ add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES} ${BUILD_VERSION_CC})
|
||||
+ target_link_libraries(${ROCKSDB_STATIC_LIB} PRIVATE
|
||||
+ ${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
|
||||
+endif()
|
||||
|
||||
if(ROCKSDB_BUILD_SHARED)
|
||||
add_library(${ROCKSDB_SHARED_LIB} SHARED ${SOURCES} ${BUILD_VERSION_CC})
|
||||
@@ -1021,13 +1024,15 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS)
|
||||
|
||||
install(DIRECTORY "${PROJECT_SOURCE_DIR}/cmake/modules" COMPONENT devel DESTINATION ${package_config_destination})
|
||||
|
||||
- install(
|
||||
- TARGETS ${ROCKSDB_STATIC_LIB}
|
||||
- EXPORT RocksDBTargets
|
||||
- COMPONENT devel
|
||||
- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
- INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
- )
|
||||
+ if(ROCKSDB_BUILD_STATIC)
|
||||
+ install(
|
||||
+ TARGETS ${ROCKSDB_STATIC_LIB}
|
||||
+ EXPORT RocksDBTargets
|
||||
+ COMPONENT devel
|
||||
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
+ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
+ )
|
||||
+ endif()
|
||||
|
||||
if(ROCKSDB_BUILD_SHARED)
|
||||
install(
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -19,6 +19,7 @@ SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH};protocol=htt
|
||||
file://mips.patch \
|
||||
file://arm.patch \
|
||||
file://run-ptest \
|
||||
file://static_library_as_option.patch \
|
||||
"
|
||||
|
||||
SRC_URI:append:riscv32 = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch"
|
||||
@@ -30,13 +31,14 @@ S = "${WORKDIR}/git"
|
||||
|
||||
inherit cmake ptest
|
||||
|
||||
PACKAGECONFIG ??= "bzip2 zlib lz4 gflags"
|
||||
PACKAGECONFIG ??= "bzip2 zlib lz4 gflagsi rocksdb_static"
|
||||
PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON,-DWITH_BZ2=OFF,bzip2"
|
||||
PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON,-DWITH_LZ4=OFF,lz4"
|
||||
PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
|
||||
PACKAGECONFIG[zstd] = "-DWITH_ZSTD=ON,-DWITH_ZSTD=OFF,zstd"
|
||||
PACKAGECONFIG[lite] = "-DROCKSDB_LITE=ON,-DROCKSDB_LITE=OFF"
|
||||
PACKAGECONFIG[gflags] = "-DWITH_GFLAGS=ON,-DWITH_GFLAGS=OFF,gflags"
|
||||
PACKAGECONFIG[rocksdb_static] = "-DROCKSDB_BUILD_STATIC=ON, -DROCKSDB_BUILD_STATIC=OFF"
|
||||
|
||||
# Tools and tests currently don't compile on armv5 so we disable them
|
||||
EXTRA_OECMAKE = "\
|
||||
|
||||
Reference in New Issue
Block a user