mirror of
https://github.com/microsoft/vcpkg.git
synced 2025-06-07 18:30:11 +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
|
diff --git a/thirdparty.inc b/thirdparty.inc
|
||||||
index 9fffd9b..2e1ea9d 100644
|
index a364d1d..1d85d50 100644
|
||||||
--- a/thirdparty.inc
|
--- a/thirdparty.inc
|
||||||
+++ b/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
|
# 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_LIB_RELEASE ${GFLAGS_HOME}/bin/retail/amd64/gflags.lib)
|
||||||
+set(GFLAGS_HOME ${CURRENT_INSTALLED_DIR})
|
+set(GFLAGS_HOME ${CURRENT_INSTALLED_DIR})
|
||||||
+set(GFLAGS_INCLUDE ${GFLAGS_HOME}/include)
|
+set(GFLAGS_INCLUDE ${GFLAGS_HOME}/include)
|
||||||
+set(GFLAGS_LIB_DEBUG ${GFLAGS_HOME}/debug/lib/gflags.lib)
|
+find_library(GFLAGS_LIB_DEBUG NAMES gflags gflags_static)
|
||||||
+set(GFLAGS_LIB_RELEASE ${GFLAGS_HOME}/lib/gflags.lib)
|
+set(GFLAGS_LIB_RELEASE ${GFLAGS_LIB_DEBUG})
|
||||||
|
|
||||||
# ================================================== GFLAGS ==================================================
|
# ================================================== GFLAGS ==================================================
|
||||||
#
|
#
|
||||||
@@ -65,10 +65,10 @@ endif ()
|
@@ -63,10 +63,10 @@ endif ()
|
||||||
#
|
#
|
||||||
# Edit these 4 lines to define paths to Snappy
|
# Edit these 4 lines to define paths to Snappy
|
||||||
#
|
#
|
||||||
@ -32,7 +41,7 @@ index 9fffd9b..2e1ea9d 100644
|
|||||||
|
|
||||||
#
|
#
|
||||||
# Don't touch these lines
|
# Don't touch these lines
|
||||||
@@ -108,10 +108,10 @@ endif ()
|
@@ -106,10 +106,10 @@ endif ()
|
||||||
#
|
#
|
||||||
# Edit these 4 lines to define paths to LZ4
|
# Edit these 4 lines to define paths to LZ4
|
||||||
#
|
#
|
||||||
@ -47,7 +56,7 @@ index 9fffd9b..2e1ea9d 100644
|
|||||||
|
|
||||||
#
|
#
|
||||||
# Don't touch these lines
|
# Don't touch these lines
|
||||||
@@ -151,10 +151,10 @@ endif ()
|
@@ -149,10 +149,10 @@ endif ()
|
||||||
#
|
#
|
||||||
# Edit these 4 lines to define paths to ZLIB
|
# Edit these 4 lines to define paths to ZLIB
|
||||||
#
|
#
|
||||||
@ -62,3 +71,6 @@ index 9fffd9b..2e1ea9d 100644
|
|||||||
|
|
||||||
#
|
#
|
||||||
# Don't touch these lines
|
# 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
|
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
|
Description: A library that provides an embeddable, persistent key-value store for fast storage
|
||||||
Build-Depends: snappy, lz4, gflags, zlib, gtest
|
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(
|
vcpkg_from_github(
|
||||||
OUT_SOURCE_PATH SOURCE_PATH
|
OUT_SOURCE_PATH SOURCE_PATH
|
||||||
REPO facebook/rocksdb
|
REPO facebook/rocksdb
|
||||||
REF 18c63af6ef2b9f014c404b88488ae52e6fead03c
|
REF rocksdb-5.10.3
|
||||||
SHA512 8dd4d27768feba6d9ddb61debe6cae21fa6d25c27dc347cba3b28cc39d2c1fa860dba7c8adedba4b40883eccccca190b60941cf958855c6b70ec5a3b96c20ac5
|
SHA512 2443e993271e0fbcbb3bfedba72cb9ecf109705f8cd0d7184abe10784646c3111e06ed2bd8456a2773990e5670151a623094632b33c9e36380ba6ad003977044
|
||||||
HEAD_REF master
|
HEAD_REF master
|
||||||
)
|
)
|
||||||
|
|
||||||
vcpkg_apply_patches(
|
vcpkg_apply_patches(
|
||||||
SOURCE_PATH ${SOURCE_PATH}
|
SOURCE_PATH ${SOURCE_PATH}
|
||||||
PATCHES
|
PATCHES
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/fix-building-both-static-and-shared.patch"
|
"${CMAKE_CURRENT_LIST_DIR}/0001-third-party.patch"
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/fix-third-party-deps.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)
|
set(WITH_MD_LIBRARY OFF)
|
||||||
else()
|
else()
|
||||||
set(WITH_MD_LIBRARY ON)
|
set(WITH_MD_LIBRARY ON)
|
||||||
endif()
|
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(
|
vcpkg_configure_cmake(
|
||||||
SOURCE_PATH ${SOURCE_PATH}
|
SOURCE_PATH ${SOURCE_PATH}
|
||||||
PREFER_NINJA
|
PREFER_NINJA
|
||||||
@ -37,15 +40,23 @@ vcpkg_configure_cmake(
|
|||||||
-DSNAPPY=1
|
-DSNAPPY=1
|
||||||
-DLZ4=1
|
-DLZ4=1
|
||||||
-DZLIB=1
|
-DZLIB=1
|
||||||
-DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR}
|
-DWITH_TESTS=OFF
|
||||||
|
-DROCKSDB_INSTALL_ON_WINDOWS=ON
|
||||||
-DFAIL_ON_WARNINGS=OFF
|
-DFAIL_ON_WARNINGS=OFF
|
||||||
-DWITH_MD_LIBRARY=${WITH_MD_LIBRARY}
|
-DWITH_MD_LIBRARY=${WITH_MD_LIBRARY}
|
||||||
OPTIONS_DEBUG
|
-DROCKSDB_DISABLE_INSTALL_SHARED_LIB=${ROCKSDB_DISABLE_INSTALL_SHARED_LIB}
|
||||||
-DDISABLE_INSTALL_HEADERS=ON
|
-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()
|
vcpkg_copy_pdbs()
|
||||||
|
Loading…
Reference in New Issue
Block a user