2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-31 05:55:28 +00:00

[#3732] Meson: Make gtest simple dependency + fallback

The gtest.cc compiler check misleadingly fails on some systems...
This commit is contained in:
Andrei Pavel
2025-04-25 13:01:40 +03:00
parent 4a9fcdb2f5
commit a3f69d7430
2 changed files with 5 additions and 39 deletions

View File

@@ -1,12 +0,0 @@
#include <gtest/gtest.h>
// musl's mallocng memory allocator stupidly crash for test names that are
// lengthier than 16 characters. Hence the long test name.
TEST(Fixture, testWithLongLongLongName) {
EXPECT_LT(1, 2);
}
int main(int argc, char* argv[]) {
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}

View File

@@ -249,33 +249,11 @@ if netconf_opt.enabled() and NETCONF_DEP.get_variable(
endif
# Google Test
GTEST_DEP = disabler()
if FUZZ_OPT.enabled() or TESTS_OPT.enabled()
GTEST_DEP = dependency('gtest', required: false)
if GTEST_DEP.found()
# Wrap dependencies cannot be used in compiler checks: https://github.com/mesonbuild/meson/issues/11575
# Should never be a wrap dependency at this point, but somehow it happens on Alpine systems.
if GTEST_DEP.type_name() != 'internal'
result = cpp.run(
fs.read('compiler-checks/gtest.cc'),
name: 'Check if a simple GTest test runs.',
dependencies: [GTEST_DEP, threads_dep],
)
if result.returncode() != 0
GTEST_DEP = disabler()
endif
endif
endif
if not GTEST_DEP.found()
gtest_subproject = subproject('gtest', required: false)
if gtest_subproject.found()
GTEST_DEP = gtest_subproject.get_variable('gtest_dep')
endif
endif
if not GTEST_DEP.found()
error('Dependency not found: GTest.')
endif
endif
GTEST_DEP = dependency(
'gtest',
fallback: ['gtest', 'gtest_dep'],
required: FUZZ_OPT.enabled() or TESTS_OPT.enabled(),
)
# Crypto
if crypto_opt == 'botan'