leveldb: Fix check, unbundle googletest, benchmark
This commit is contained in:
@@ -12,16 +12,21 @@ url="https://github.com/google/leveldb"
|
||||
license=('BSD')
|
||||
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
|
||||
"${MINGW_PACKAGE_PREFIX}-cmake"
|
||||
"${MINGW_PACKAGE_PREFIX}-benchmark"
|
||||
"${MINGW_PACKAGE_PREFIX}-gtest"
|
||||
"${MINGW_PACKAGE_PREFIX}-ninja")
|
||||
source=("${_realname}-${pkgver}.tar.gz::https://github.com/google/leveldb/archive/${pkgver}.tar.gz"
|
||||
001-snappy-optional.patch)
|
||||
001-snappy-optional.patch
|
||||
leveldb-unbundle-gtest-benchmark.patch)
|
||||
sha256sums=('9a37f8a6174f09bd622bc723b55881dc541cd50747cbd08831c2a82d620f6d76'
|
||||
'29bd7b19cebf31dddb0cb3fe9d938a367e99fa045ac523014fc45d4021577e53')
|
||||
'29bd7b19cebf31dddb0cb3fe9d938a367e99fa045ac523014fc45d4021577e53'
|
||||
'4183dc3b5c17a0cb5fb66ada179b9bd2b43e997d3a9c854d19cf892ea6e524b9')
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/${_realname}-${pkgver}"
|
||||
patch -p1 -i ${srcdir}/001-snappy-optional.patch
|
||||
sed -e "s|-Werror||g" -i CMakeLists.txt
|
||||
patch -p1 -i ${srcdir}/001-snappy-optional.patch
|
||||
patch -p1 -i ${srcdir}/leveldb-unbundle-gtest-benchmark.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
@@ -40,8 +45,6 @@ build() {
|
||||
-G"Ninja" \
|
||||
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
|
||||
${extra_config[@]} \
|
||||
-DLEVELDB_BUILD_BENCHMARKS=OFF \
|
||||
-DLEVELDB_BUILD_TESTS=OFF \
|
||||
-DLEVELDB_USE_SNAPPY=OFF \
|
||||
"../${_realname}-${pkgver}"
|
||||
|
||||
@@ -55,8 +58,6 @@ build() {
|
||||
-G"Ninja" \
|
||||
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
|
||||
${extra_config[@]} \
|
||||
-DLEVELDB_BUILD_BENCHMARKS=OFF \
|
||||
-DLEVELDB_BUILD_TESTS=OFF \
|
||||
-DLEVELDB_USE_SNAPPY=OFF \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
"../${_realname}-${pkgver}"
|
||||
@@ -66,11 +67,10 @@ build() {
|
||||
|
||||
check() {
|
||||
cd "${srcdir}/build-${MSYSTEM}-static"
|
||||
${MINGW_PREFIX}/bin/cmake \
|
||||
-DLEVELDB_BUILD_TESTS=ON \
|
||||
../${_realname}-${pkgver}
|
||||
${MINGW_PREFIX}/bin/cmake --build .
|
||||
${MINGW_PREFIX}/bin/ctest
|
||||
${MINGW_PREFIX}/bin/ctest . || warning "Tests failed"
|
||||
|
||||
cd "${srcdir}/build-${MSYSTEM}-shared"
|
||||
${MINGW_PREFIX}/bin/ctest . || warning "Tests failed"
|
||||
}
|
||||
|
||||
package() {
|
||||
|
||||
36
mingw-w64-leveldb/leveldb-unbundle-gtest-benchmark.patch
Normal file
36
mingw-w64-leveldb/leveldb-unbundle-gtest-benchmark.patch
Normal file
@@ -0,0 +1,36 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index f8285b8..352ba35 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -296,20 +296,12 @@ if(LEVELDB_BUILD_TESTS)
|
||||
set(build_gmock ON)
|
||||
|
||||
# This project is tested using GoogleTest.
|
||||
- add_subdirectory("third_party/googletest")
|
||||
+ find_package(GTest)
|
||||
|
||||
# This project uses Google benchmark for benchmarking.
|
||||
set(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "" FORCE)
|
||||
set(BENCHMARK_ENABLE_EXCEPTIONS OFF CACHE BOOL "" FORCE)
|
||||
- add_subdirectory("third_party/benchmark")
|
||||
-
|
||||
- # GoogleTest triggers a missing field initializers warning.
|
||||
- if(LEVELDB_HAVE_NO_MISSING_FIELD_INITIALIZERS)
|
||||
- set_property(TARGET gtest
|
||||
- APPEND PROPERTY COMPILE_OPTIONS -Wno-missing-field-initializers)
|
||||
- set_property(TARGET gmock
|
||||
- APPEND PROPERTY COMPILE_OPTIONS -Wno-missing-field-initializers)
|
||||
- endif(LEVELDB_HAVE_NO_MISSING_FIELD_INITIALIZERS)
|
||||
+ find_package(benchmark)
|
||||
|
||||
function(leveldb_test test_file)
|
||||
get_filename_component(test_target_name "${test_file}" NAME_WE)
|
||||
@@ -400,7 +392,7 @@ if(LEVELDB_BUILD_BENCHMARKS)
|
||||
|
||||
"${bench_file}"
|
||||
)
|
||||
- target_link_libraries("${bench_target_name}" leveldb gmock gtest)
|
||||
+ target_link_libraries("${bench_target_name}" leveldb GTest::gtest)
|
||||
target_compile_definitions("${bench_target_name}"
|
||||
PRIVATE
|
||||
${LEVELDB_PLATFORM_NAME}=1
|
||||
Reference in New Issue
Block a user