mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-09-01 14:35:29 +00:00
[#3732] Meson: Make gtest simple dependency + fallback
The gtest.cc compiler check misleadingly fails on some systems...
This commit is contained in:
@@ -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();
|
|
||||||
}
|
|
32
meson.build
32
meson.build
@@ -249,33 +249,11 @@ if netconf_opt.enabled() and NETCONF_DEP.get_variable(
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# Google Test
|
# Google Test
|
||||||
GTEST_DEP = disabler()
|
GTEST_DEP = dependency(
|
||||||
if FUZZ_OPT.enabled() or TESTS_OPT.enabled()
|
'gtest',
|
||||||
GTEST_DEP = dependency('gtest', required: false)
|
fallback: ['gtest', 'gtest_dep'],
|
||||||
if GTEST_DEP.found()
|
required: FUZZ_OPT.enabled() or TESTS_OPT.enabled(),
|
||||||
# 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
|
|
||||||
|
|
||||||
# Crypto
|
# Crypto
|
||||||
if crypto_opt == 'botan'
|
if crypto_opt == 'botan'
|
||||||
|
Reference in New Issue
Block a user