From a08eabb3b87da69a71793bb8eaa2d64a6ac96aeb Mon Sep 17 00:00:00 2001 From: Moritz Haase Date: Tue, 15 Jul 2025 09:18:10 +0200 Subject: leveldb: Allow to build with CMake 4+ The component itself builds just fine with CMake 4, but the tests don't as they rely on a bundled version of GTest that is six years old. Since upstream is inactive, the simplest course of action is to apply the 'minimum policy version' override (as implemented in CMake, it only affects the GTest submodule). System GTest can not be used instead (easily), as among other things it requires C++14 and the project uses C++11. Signed-off-by: Moritz Haase CC: Khem Raj Signed-off-by: Khem Raj --- meta-oe/recipes-dbs/leveldb/leveldb_1.23.bb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-dbs/leveldb/leveldb_1.23.bb b/meta-oe/recipes-dbs/leveldb/leveldb_1.23.bb index 9cefc528ae..1ccf115793 100644 --- a/meta-oe/recipes-dbs/leveldb/leveldb_1.23.bb +++ b/meta-oe/recipes-dbs/leveldb/leveldb_1.23.bb @@ -18,8 +18,12 @@ PACKAGECONFIG[benchmarks] = "-DLEVELDB_BUILD_BENCHMARKS=ON,-DLEVELDB_BUILD_BENCH PACKAGECONFIG[snappy] = ",,snappy" PACKAGECONFIG[tcmalloc] = ",,gperftools" +# CMake policy override is only required for (and only affects) the bundled GTest submodule. +# System GTest can not be used instead, since (among other things) it requires C++14 and the project uses C++11. EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=ON -DCMAKE_SKIP_RPATH=ON \ - -DLEVELDB_BUILD_TESTS=${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'ON', 'OFF', d)}" + -DLEVELDB_BUILD_TESTS=${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'ON', 'OFF', d)} \ + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ +" do_install:append() { install -D -m 0755 ${B}/leveldbutil ${D}${bindir}/leveldbutil -- cgit v1.2.3-54-g00ecf