leveldb: Fix check, unbundle googletest, benchmark

This commit is contained in:
Biswapriyo Nath
2022-10-21 18:15:23 +05:30
parent e1a04c8094
commit faa07ca2a8
2 changed files with 48 additions and 12 deletions

View File

@@ -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() {

View 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