diff --git a/ports/rocksdb/0001-disable-gtest.patch b/ports/rocksdb/0001-disable-gtest.patch index 82fe3ff62..b3aa2d629 100644 --- a/ports/rocksdb/0001-disable-gtest.patch +++ b/ports/rocksdb/0001-disable-gtest.patch @@ -1,13 +1,13 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5b7d37359..9ab8954b6 100644 +index eebda35e9..c00e6b702 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -445,7 +445,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 - +@@ -888,7 +888,7 @@ option(WITH_TESTS "build with tests" ON) + # For test libraries, utilities, and exes that are build iff WITH_TESTS=ON and + # in Debug mode. Add test only code that is not #ifdefed for Release here. + if(WITH_TESTS AND CMAKE_BUILD_TYPE STREQUAL "Debug") +- add_subdirectory(third-party/gtest-1.8.1/fused-src/gtest) ++ #add_subdirectory(third-party/gtest-1.8.1/fused-src/gtest) + set(TESTS + cache/cache_test.cc + cache/lru_cache_test.cc diff --git a/ports/rocksdb/0002-only-build-one-flavor.patch b/ports/rocksdb/0002-only-build-one-flavor.patch index 00e46377d..668a36cae 100644 --- a/ports/rocksdb/0002-only-build-one-flavor.patch +++ b/ports/rocksdb/0002-only-build-one-flavor.patch @@ -1,53 +1,52 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ff370fb..6916fcd 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -810,24 +810,30 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS) - ) - - install(DIRECTORY include/rocksdb COMPONENT devel DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") -- -- install( -- TARGETS ${ROCKSDB_STATIC_LIB} -- EXPORT RocksDBTargets -- COMPONENT devel -- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" -- INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" -- ) -- -- install( -- TARGETS ${ROCKSDB_SHARED_LIB} -- EXPORT RocksDBTargets -- COMPONENT runtime -- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" -- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" -- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" -- INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" -- ) -+ if(NOT ROCKSDB_DISABLE_INSTALL_STATIC_LIB) -+ install( -+ TARGETS ${ROCKSDB_STATIC_LIB} -+ EXPORT RocksDBTargets -+ COMPONENT devel -+ 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 -+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" -+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" -+ 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 +diff --git a/CMakeLists.txt b/CMakeLists.txt +index eebda35e9..abaf2fd00 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -850,23 +850,30 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS) + + install(DIRECTORY include/rocksdb COMPONENT devel DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + +- install( +- TARGETS ${ROCKSDB_STATIC_LIB} +- EXPORT RocksDBTargets +- COMPONENT devel +- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" +- ) +- +- install( +- TARGETS ${ROCKSDB_SHARED_LIB} +- EXPORT RocksDBTargets +- COMPONENT runtime +- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" +- ) ++ if(NOT ROCKSDB_DISABLE_INSTALL_STATIC_LIB) ++ install( ++ TARGETS ${ROCKSDB_STATIC_LIB} ++ EXPORT RocksDBTargets ++ COMPONENT devel ++ 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 ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ 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 diff --git a/ports/rocksdb/0004-use-find-package.patch b/ports/rocksdb/0003-use-find-package.patch similarity index 56% rename from ports/rocksdb/0004-use-find-package.patch rename to ports/rocksdb/0003-use-find-package.patch index c2b9e5a4f..5fa21dacb 100644 --- a/ports/rocksdb/0004-use-find-package.patch +++ b/ports/rocksdb/0003-use-find-package.patch @@ -1,10 +1,10 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1bae9a7..0303186 100644 +index eebda35e9..cf48c7ad5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -53,7 +53,7 @@ option(WITH_WINDOWS_UTF8_FILENAMES "use UTF8 as characterset for opening files, - if (WITH_WINDOWS_UTF8_FILENAMES) - add_definitions(-DROCKSDB_WINDOWS_UTF8_FILENAMES) +@@ -67,7 +67,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux" OR CMAKE_SYSTEM_NAME MATCHES "Windows") + else() + option(WITH_FOLLY_DISTRIBUTED_MUTEX "build with folly::DistributedMutex" OFF) endif() -if(MSVC) +if(MSVC AND NOT VCPKG_TOOLCHAIN) diff --git a/ports/rocksdb/0003-zlib-findpackage.patch b/ports/rocksdb/0003-zlib-findpackage.patch deleted file mode 100644 index e66f8f17f..000000000 --- a/ports/rocksdb/0003-zlib-findpackage.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6916fcd..a52c53f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -92,7 +92,7 @@ else() - endif() - - if(WITH_ZLIB) -- find_package(zlib REQUIRED) -+ find_package(ZLIB REQUIRED) - add_definitions(-DZLIB) - if(ZLIB_INCLUDE_DIRS) - # CMake 3 diff --git a/ports/rocksdb/0005-static-linking-in-linux.patch b/ports/rocksdb/0004-static-linking-in-linux.patch similarity index 87% rename from ports/rocksdb/0005-static-linking-in-linux.patch rename to ports/rocksdb/0004-static-linking-in-linux.patch index 89defde68..afa4fd326 100644 --- a/ports/rocksdb/0005-static-linking-in-linux.patch +++ b/ports/rocksdb/0004-static-linking-in-linux.patch @@ -1,18 +1,18 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0303186..2b09591 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -741,7 +741,12 @@ if(WIN32) - set(LIBS ${ROCKSDB_STATIC_LIB} ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) - else() - set(SYSTEM_LIBS ${CMAKE_THREAD_LIBS_INIT}) -- set(LIBS ${ROCKSDB_SHARED_LIB} ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) -+ -+ if(ROCKSDB_DISABLE_INSTALL_SHARED_LIB) -+ set(LIBS ${ROCKSDB_STATIC_LIB} ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) -+ else() -+ set(LIBS ${ROCKSDB_SHARED_LIB} ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) -+ endif() - - add_library(${ROCKSDB_SHARED_LIB} SHARED ${SOURCES}) - target_link_libraries(${ROCKSDB_SHARED_LIB} +diff --git a/CMakeLists.txt b/CMakeLists.txt +index eebda35e9..53ec5fced 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -781,7 +781,12 @@ if(WIN32) + set(LIBS ${ROCKSDB_STATIC_LIB} ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) + else() + set(SYSTEM_LIBS ${CMAKE_THREAD_LIBS_INIT}) +- set(LIBS ${ROCKSDB_SHARED_LIB} ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) ++ ++ if(ROCKSDB_DISABLE_INSTALL_SHARED_LIB) ++ set(LIBS ${ROCKSDB_STATIC_LIB} ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) ++ else() ++ set(LIBS ${ROCKSDB_SHARED_LIB} ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) ++ endif() + + add_library(${ROCKSDB_SHARED_LIB} SHARED ${SOURCES}) + target_link_libraries(${ROCKSDB_SHARED_LIB} diff --git a/ports/rocksdb/0005-add-config-to-findpackage.patch b/ports/rocksdb/0005-add-config-to-findpackage.patch new file mode 100644 index 000000000..47cc22202 --- /dev/null +++ b/ports/rocksdb/0005-add-config-to-findpackage.patch @@ -0,0 +1,34 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index eebda35e9..20bafd659 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -98,9 +98,9 @@ else() + endif() + + if(WITH_SNAPPY) +- find_package(snappy REQUIRED) ++ find_package(Snappy CONFIG REQUIRED) + add_definitions(-DSNAPPY) +- list(APPEND THIRDPARTY_LIBS snappy::snappy) ++ list(APPEND THIRDPARTY_LIBS Snappy::snappy) + endif() + + if(WITH_ZLIB) +@@ -122,7 +122,7 @@ else() + endif() + + if(WITH_LZ4) +- find_package(lz4 REQUIRED) ++ find_package(lz4 CONFIG REQUIRED) + add_definitions(-DLZ4) + list(APPEND THIRDPARTY_LIBS lz4::lz4) + endif() +@@ -131,7 +131,7 @@ else() + find_package(zstd REQUIRED) + add_definitions(-DZSTD) + include_directories(${ZSTD_INCLUDE_DIR}) +- list(APPEND THIRDPARTY_LIBS zstd::zstd) ++ list(APPEND THIRDPARTY_LIBS ${ZSTD_LIBRARY}) + endif() + endif() + diff --git a/ports/rocksdb/CONTROL b/ports/rocksdb/CONTROL index 1d37c85ca..8e78cfc77 100644 --- a/ports/rocksdb/CONTROL +++ b/ports/rocksdb/CONTROL @@ -1,5 +1,5 @@ Source: rocksdb -Version: 6.1.2-1 +Version: 6.6.4-1 Homepage: https://github.com/facebook/rocksdb Description: A library that provides an embeddable, persistent key-value store for fast storage Default-Features: zlib diff --git a/ports/rocksdb/Findzstd.cmake b/ports/rocksdb/Findzstd.cmake index f047fc2a9..627e4d352 100644 --- a/ports/rocksdb/Findzstd.cmake +++ b/ports/rocksdb/Findzstd.cmake @@ -1,7 +1,7 @@ find_path(ZSTD_INCLUDE_DIR zstd.h) -find_library(ZSTD_LIBRARY_DEBUG NAMES zstd) -find_library(ZSTD_LIBRARY_RELEASE NAMES zstd) +find_library(ZSTD_LIBRARY_DEBUG NAMES zstdd zstd_staticd) +find_library(ZSTD_LIBRARY_RELEASE NAMES zstd zstd_static) include(SelectLibraryConfigurations) select_library_configurations(ZSTD) diff --git a/ports/rocksdb/portfile.cmake b/ports/rocksdb/portfile.cmake index b7eb5c78f..56afc1cf1 100644 --- a/ports/rocksdb/portfile.cmake +++ b/ports/rocksdb/portfile.cmake @@ -1,19 +1,17 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/rocksdb - REF 2b38e2dd6602a17a2010308580fd5d8c91dea650 - SHA512 82e9c2417bd0325b2402a64a56cfff25346e277a8174a33727517ada59502fee4bdeea40b0d20f9c6a86c52b66d57340b898096e39ad91bccc4f3a2245bd49b0 + REF v6.6.4 + SHA512 22f5105244c55ca7030cc8d7ee06cb87f4afdfc85b3f44f7512a9c9c41c037c3b70fd291ec1b0df2553a93b770e11abc4ae2d7f984b2a0f1addd26d424c09539 HEAD_REF master PATCHES 0001-disable-gtest.patch 0002-only-build-one-flavor.patch - 0003-zlib-findpackage.patch - 0004-use-find-package.patch - 0005-static-linking-in-linux.patch + 0003-use-find-package.patch + 0004-static-linking-in-linux.patch + 0005-add-config-to-findpackage.patch ) file(REMOVE "${SOURCE_PATH}/cmake/modules/Findzlib.cmake") @@ -65,7 +63,7 @@ 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(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake ${SOURCE_PATH}/LICENSE.leveldb DESTINATION ${CURRENT_PACKAGES_DIR}/share/rocksdb) +file(INSTALL ${SOURCE_PATH}/LICENSE.Apache DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake ${SOURCE_PATH}/LICENSE.leveldb DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) vcpkg_copy_pdbs()