mirror of
https://github.com/microsoft/vcpkg.git
synced 2025-06-07 04:34:07 +08:00
[rocksdb] Update
This commit is contained in:
parent
e3dda1a82d
commit
43172e2318
@ -1,8 +1,17 @@
|
||||
From 533ab1b3f3f4286aa756e965e22aa88612479e01 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Schumacher <roschuma@microsoft.com>
|
||||
Date: Fri, 23 Feb 2018 01:44:44 -0800
|
||||
Subject: [PATCH 1/3] third-party
|
||||
|
||||
---
|
||||
thirdparty.inc | 32 ++++++++++++++++----------------
|
||||
1 file changed, 16 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/thirdparty.inc b/thirdparty.inc
|
||||
index 9fffd9b..2e1ea9d 100644
|
||||
index a364d1d..1d85d50 100644
|
||||
--- a/thirdparty.inc
|
||||
+++ b/thirdparty.inc
|
||||
@@ -21,10 +21,10 @@ set (THIRDPARTY_LIBS "") # Initialization, don't touch
|
||||
@@ -19,10 +19,10 @@ set (THIRDPARTY_LIBS "") # Initialization, don't touch
|
||||
#
|
||||
# Edit these 4 lines to define paths to GFLAGS
|
||||
#
|
||||
@ -12,12 +21,12 @@ index 9fffd9b..2e1ea9d 100644
|
||||
-set(GFLAGS_LIB_RELEASE ${GFLAGS_HOME}/bin/retail/amd64/gflags.lib)
|
||||
+set(GFLAGS_HOME ${CURRENT_INSTALLED_DIR})
|
||||
+set(GFLAGS_INCLUDE ${GFLAGS_HOME}/include)
|
||||
+set(GFLAGS_LIB_DEBUG ${GFLAGS_HOME}/debug/lib/gflags.lib)
|
||||
+set(GFLAGS_LIB_RELEASE ${GFLAGS_HOME}/lib/gflags.lib)
|
||||
+find_library(GFLAGS_LIB_DEBUG NAMES gflags gflags_static)
|
||||
+set(GFLAGS_LIB_RELEASE ${GFLAGS_LIB_DEBUG})
|
||||
|
||||
# ================================================== GFLAGS ==================================================
|
||||
#
|
||||
@@ -65,10 +65,10 @@ endif ()
|
||||
@@ -63,10 +63,10 @@ endif ()
|
||||
#
|
||||
# Edit these 4 lines to define paths to Snappy
|
||||
#
|
||||
@ -32,7 +41,7 @@ index 9fffd9b..2e1ea9d 100644
|
||||
|
||||
#
|
||||
# Don't touch these lines
|
||||
@@ -108,10 +108,10 @@ endif ()
|
||||
@@ -106,10 +106,10 @@ endif ()
|
||||
#
|
||||
# Edit these 4 lines to define paths to LZ4
|
||||
#
|
||||
@ -47,7 +56,7 @@ index 9fffd9b..2e1ea9d 100644
|
||||
|
||||
#
|
||||
# Don't touch these lines
|
||||
@@ -151,10 +151,10 @@ endif ()
|
||||
@@ -149,10 +149,10 @@ endif ()
|
||||
#
|
||||
# Edit these 4 lines to define paths to ZLIB
|
||||
#
|
||||
@ -62,3 +71,6 @@ index 9fffd9b..2e1ea9d 100644
|
||||
|
||||
#
|
||||
# Don't touch these lines
|
||||
--
|
||||
2.16.2.windows.1
|
||||
|
25
ports/rocksdb/0002-disable-gtest.patch
Normal file
25
ports/rocksdb/0002-disable-gtest.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From f1ecf23b8a10ab5a917da4a39fba343a00cab1a9 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Schumacher <roschuma@microsoft.com>
|
||||
Date: Fri, 23 Feb 2018 01:44:57 -0800
|
||||
Subject: [PATCH 2/3] disable gtest
|
||||
|
||||
---
|
||||
CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 5fb551a..faffc91 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -393,7 +393,7 @@ include_directories(${PROJECT_SOURCE_DIR}/include)
|
||||
include_directories(SYSTEM ${PROJECT_SOURCE_DIR}/third-party/gtest-1.7.0/fused-src)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
-add_subdirectory(third-party/gtest-1.7.0/fused-src/gtest)
|
||||
+#add_subdirectory(third-party/gtest-1.7.0/fused-src/gtest)
|
||||
|
||||
# Main library source code
|
||||
|
||||
--
|
||||
2.16.2.windows.1
|
||||
|
48
ports/rocksdb/0003-only-build-one-flavor.patch
Normal file
48
ports/rocksdb/0003-only-build-one-flavor.patch
Normal file
@ -0,0 +1,48 @@
|
||||
From f77366e2bf8c136990b89ab235af8e0cf0e566f4 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Schumacher <roschuma@microsoft.com>
|
||||
Date: Fri, 23 Feb 2018 01:45:18 -0800
|
||||
Subject: [PATCH 3/3] only build one flavor
|
||||
|
||||
---
|
||||
CMakeLists.txt | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index faffc91..89dc537 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -723,6 +723,7 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS)
|
||||
|
||||
install(DIRECTORY include/rocksdb COMPONENT devel DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
|
||||
+ if(NOT ROCKSDB_DISABLE_INSTALL_STATIC_LIB)
|
||||
install(
|
||||
TARGETS ${ROCKSDB_STATIC_LIB}
|
||||
EXPORT RocksDBTargets
|
||||
@@ -730,15 +731,23 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS)
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
)
|
||||
+ else()
|
||||
+ set_target_properties(${ROCKSDB_STATIC_LIB} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
||||
+ endif()
|
||||
|
||||
+ if(NOT ROCKSDB_DISABLE_INSTALL_SHARED_LIB)
|
||||
install(
|
||||
TARGETS ${ROCKSDB_SHARED_LIB}
|
||||
EXPORT RocksDBTargets
|
||||
COMPONENT runtime
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
)
|
||||
+ else()
|
||||
+ set_target_properties(${ROCKSDB_SHARED_LIB} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
||||
+ endif()
|
||||
|
||||
install(
|
||||
EXPORT RocksDBTargets
|
||||
--
|
||||
2.16.2.windows.1
|
||||
|
@ -1,4 +1,4 @@
|
||||
Source: rocksdb
|
||||
Version: 2017-06-28-18c63af6ef2b9f014c404b88488ae52e6fead03c-1
|
||||
Version: 5.10.3
|
||||
Description: A library that provides an embeddable, persistent key-value store for fast storage
|
||||
Build-Depends: snappy, lz4, gflags, zlib, gtest
|
||||
|
@ -1,91 +0,0 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index cbbde8e..cb19649 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -315,10 +315,13 @@ endif()
|
||||
|
||||
include_directories(${PROJECT_SOURCE_DIR})
|
||||
include_directories(${PROJECT_SOURCE_DIR}/include)
|
||||
-include_directories(SYSTEM ${PROJECT_SOURCE_DIR}/third-party/gtest-1.7.0/fused-src)
|
||||
+
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
-add_subdirectory(third-party/gtest-1.7.0/fused-src/gtest)
|
||||
+if(BUILD_TEST)
|
||||
+ include_directories(SYSTEM ${PROJECT_SOURCE_DIR}/third-party/gtest-1.7.0/fused-src)
|
||||
+ add_subdirectory(third-party/gtest-1.7.0/fused-src/gtest)
|
||||
+endif()
|
||||
|
||||
# Main library source code
|
||||
|
||||
@@ -574,22 +577,28 @@ if(WITH_LIBRADOS)
|
||||
list(APPEND THIRDPARTY_LIBS rados)
|
||||
endif()
|
||||
|
||||
-add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES})
|
||||
-target_link_libraries(${ROCKSDB_STATIC_LIB}
|
||||
+if(NOT BUILD_SHARED_LIBS)
|
||||
+ add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES})
|
||||
+ target_link_libraries(${ROCKSDB_STATIC_LIB}
|
||||
${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
|
||||
-
|
||||
-if(WIN32)
|
||||
- add_library(${ROCKSDB_IMPORT_LIB} SHARED ${SOURCES})
|
||||
- target_link_libraries(${ROCKSDB_IMPORT_LIB}
|
||||
- ${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
|
||||
- set_target_properties(${ROCKSDB_IMPORT_LIB} PROPERTIES
|
||||
- COMPILE_DEFINITIONS "ROCKSDB_DLL;ROCKSDB_LIBRARY_EXPORTS")
|
||||
if(MSVC)
|
||||
set_target_properties(${ROCKSDB_STATIC_LIB} PROPERTIES
|
||||
- COMPILE_FLAGS "/Fd${CMAKE_CFG_INTDIR}/${ROCKSDB_STATIC_LIB}.pdb")
|
||||
+ COMPILE_FLAGS "/Fd${CMAKE_CFG_INTDIR}/${ROCKSDB_STATIC_LIB}.pdb")
|
||||
+ endif()
|
||||
+ set(INSTALL_TARGETS ${INSTALL_TARGETS} ${ROCKSDB_STATIC_LIB})
|
||||
+else()
|
||||
+ if(WIN32)
|
||||
+ add_library(${ROCKSDB_IMPORT_LIB} SHARED ${SOURCES})
|
||||
+ target_link_libraries(${ROCKSDB_IMPORT_LIB}
|
||||
+ ${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
|
||||
set_target_properties(${ROCKSDB_IMPORT_LIB} PROPERTIES
|
||||
+ COMPILE_DEFINITIONS "ROCKSDB_DLL;ROCKSDB_LIBRARY_EXPORTS")
|
||||
+ if(MSVC)
|
||||
+ set_target_properties(${ROCKSDB_IMPORT_LIB} PROPERTIES
|
||||
COMPILE_FLAGS "/Fd${CMAKE_CFG_INTDIR}/${ROCKSDB_IMPORT_LIB}.pdb")
|
||||
+ endif()
|
||||
endif()
|
||||
+ set(INSTALL_TARGETS ${INSTALL_TARGETS} ${ROCKSDB_IMPORT_LIB})
|
||||
endif()
|
||||
|
||||
option(WITH_JNI "build with JNI" OFF)
|
||||
@@ -600,6 +609,7 @@ else()
|
||||
message(STATUS "JNI library is disabled")
|
||||
endif()
|
||||
|
||||
+if(BUILD_TEST)
|
||||
set(TESTS
|
||||
cache/cache_test.cc
|
||||
cache/lru_cache_test.cc
|
||||
@@ -810,6 +820,7 @@ foreach(sourcefile ${C_TEST_EXES})
|
||||
add_dependencies(check ${exename}${ARTIFACT_SUFFIX})
|
||||
endforeach(sourcefile ${C_TEST_EXES})
|
||||
add_subdirectory(tools)
|
||||
+endif()
|
||||
|
||||
# Installation and packaging for Linux
|
||||
if(NOT WIN32)
|
||||
@@ -819,4 +830,15 @@ install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/rocksdb/"
|
||||
COMPONENT devel
|
||||
DESTINATION include/rocksdb)
|
||||
set(CMAKE_INSTALL_PREFIX /usr)
|
||||
+else()
|
||||
+ install(
|
||||
+ TARGETS ${INSTALL_TARGETS}
|
||||
+ RUNTIME DESTINATION bin
|
||||
+ LIBRARY DESTINATION lib
|
||||
+ ARCHIVE DESTINATION lib
|
||||
+ )
|
||||
+endif()
|
||||
+
|
||||
+if(NOT DISABLE_INSTALL_HEADERS)
|
||||
+ install(DIRECTORY "include/rocksdb/" DESTINATION include/rocksdb)
|
||||
endif()
|
@ -9,25 +9,28 @@ endif()
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO facebook/rocksdb
|
||||
REF 18c63af6ef2b9f014c404b88488ae52e6fead03c
|
||||
SHA512 8dd4d27768feba6d9ddb61debe6cae21fa6d25c27dc347cba3b28cc39d2c1fa860dba7c8adedba4b40883eccccca190b60941cf958855c6b70ec5a3b96c20ac5
|
||||
REF rocksdb-5.10.3
|
||||
SHA512 2443e993271e0fbcbb3bfedba72cb9ecf109705f8cd0d7184abe10784646c3111e06ed2bd8456a2773990e5670151a623094632b33c9e36380ba6ad003977044
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
vcpkg_apply_patches(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PATCHES
|
||||
"${CMAKE_CURRENT_LIST_DIR}/fix-building-both-static-and-shared.patch"
|
||||
"${CMAKE_CURRENT_LIST_DIR}/fix-third-party-deps.patch"
|
||||
"${CMAKE_CURRENT_LIST_DIR}/0001-third-party.patch"
|
||||
"${CMAKE_CURRENT_LIST_DIR}/0002-disable-gtest.patch"
|
||||
"${CMAKE_CURRENT_LIST_DIR}/0003-only-build-one-flavor.patch"
|
||||
)
|
||||
|
||||
|
||||
if(VCPKG_CRT_LINKAGE STREQUAL static)
|
||||
if(VCPKG_CRT_LINKAGE STREQUAL "static")
|
||||
set(WITH_MD_LIBRARY OFF)
|
||||
else()
|
||||
set(WITH_MD_LIBRARY ON)
|
||||
endif()
|
||||
|
||||
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ROCKSDB_DISABLE_INSTALL_SHARED_LIB)
|
||||
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ROCKSDB_DISABLE_INSTALL_STATIC_LIB)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
@ -37,15 +40,23 @@ vcpkg_configure_cmake(
|
||||
-DSNAPPY=1
|
||||
-DLZ4=1
|
||||
-DZLIB=1
|
||||
-DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR}
|
||||
-DWITH_TESTS=OFF
|
||||
-DROCKSDB_INSTALL_ON_WINDOWS=ON
|
||||
-DFAIL_ON_WARNINGS=OFF
|
||||
-DWITH_MD_LIBRARY=${WITH_MD_LIBRARY}
|
||||
OPTIONS_DEBUG
|
||||
-DDISABLE_INSTALL_HEADERS=ON
|
||||
-DROCKSDB_DISABLE_INSTALL_SHARED_LIB=${ROCKSDB_DISABLE_INSTALL_SHARED_LIB}
|
||||
-DROCKSDB_DISABLE_INSTALL_STATIC_LIB=${ROCKSDB_DISABLE_INSTALL_STATIC_LIB}
|
||||
-DROCKSDB_VERSION=5.10.3
|
||||
-DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR}
|
||||
)
|
||||
|
||||
vcpkg_install_cmake(DISABLE_PARALLEL)
|
||||
vcpkg_install_cmake()
|
||||
|
||||
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/rocksdb RENAME copyright)
|
||||
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/rocksdb)
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
|
||||
file(INSTALL ${SOURCE_PATH}/LICENSE.Apache DESTINATION ${CURRENT_PACKAGES_DIR}/share/rocksdb RENAME copyright)
|
||||
file(INSTALL ${SOURCE_PATH}/LICENSE.leveldb DESTINATION ${CURRENT_PACKAGES_DIR}/share/rocksdb)
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
|
Loading…
Reference in New Issue
Block a user