mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-09-30 00:01:46 +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 default to switched off as shared libraries are sufficient in most cases. Signed-off-by: Bhabu Bindu <bindu.bhabu@kpit.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
8a8bc59ff6
commit
233079a41c
@ -0,0 +1,71 @@
|
|||||||
|
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.
|
||||||
|
|
||||||
|
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>
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 29 +++++++++++++++++------------
|
||||||
|
1 file changed, 17 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 93b884dd9c1..2ca925d505c 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -98,6 +98,7 @@ if (WITH_WINDOWS_UTF8_FILENAMES)
|
||||||
|
add_definitions(-DROCKSDB_WINDOWS_UTF8_FILENAMES)
|
||||||
|
endif()
|
||||||
|
option(ROCKSDB_BUILD_SHARED "Build shared versions of the RocksDB libraries" ON)
|
||||||
|
+option(ROCKSDB_BUILD_STATIC "Build static versions of the RocksDB libraries" ON)
|
||||||
|
|
||||||
|
if( NOT DEFINED CMAKE_CXX_STANDARD )
|
||||||
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
@@ -1139,11 +1140,13 @@ string(REGEX REPLACE "[^0-9: /-]+" "" GIT_DATE "${GIT_DATE}")
|
||||||
|
set(BUILD_VERSION_CC ${CMAKE_BINARY_DIR}/build_version.cc)
|
||||||
|
configure_file(util/build_version.cc.in ${BUILD_VERSION_CC} @ONLY)
|
||||||
|
|
||||||
|
-add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES} ${BUILD_VERSION_CC})
|
||||||
|
-target_include_directories(${ROCKSDB_STATIC_LIB} PUBLIC
|
||||||
|
- $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>)
|
||||||
|
-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_include_directories(${ROCKSDB_STATIC_LIB} PUBLIC
|
||||||
|
+ $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>)
|
||||||
|
+ 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})
|
||||||
|
@@ -1238,13 +1241,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(
|
||||||
@ -17,6 +17,7 @@ SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH};protocol=htt
|
|||||||
file://0005-Implement-timer-implementation-for-mips-platform.patch \
|
file://0005-Implement-timer-implementation-for-mips-platform.patch \
|
||||||
file://0006-Implement-timer-for-arm-v6.patch \
|
file://0006-Implement-timer-for-arm-v6.patch \
|
||||||
file://0007-Fix-declaration-scope-of-LE_LOAD32-in-crc32c.patch \
|
file://0007-Fix-declaration-scope-of-LE_LOAD32-in-crc32c.patch \
|
||||||
|
file://static_library_as_option.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI:append:riscv32 = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch"
|
SRC_URI:append:riscv32 = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch"
|
||||||
@ -43,6 +44,7 @@ EXTRA_OECMAKE = "\
|
|||||||
-DWITH_BENCHMARK_TOOLS=OFF \
|
-DWITH_BENCHMARK_TOOLS=OFF \
|
||||||
-DWITH_TOOLS=OFF \
|
-DWITH_TOOLS=OFF \
|
||||||
-DFAIL_ON_WARNINGS=OFF \
|
-DFAIL_ON_WARNINGS=OFF \
|
||||||
|
-DROCKSDB_BUILD_STATIC=OFF \
|
||||||
"
|
"
|
||||||
|
|
||||||
CXXFLAGS += "${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Og', '-DXXH_NO_INLINE_HINTS', '', d)}"
|
CXXFLAGS += "${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Og', '-DXXH_NO_INLINE_HINTS', '', d)}"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user