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

[#3732] Meson: Fix GTest detection

This commit is contained in:
Andrei Pavel 2025-04-24 14:30:16 +03:00
parent 2b9efcd908
commit f75f951dba
No known key found for this signature in database
GPG Key ID: D4E804481939CB21
2 changed files with 23 additions and 11 deletions

View File

@ -6,7 +6,7 @@ TEST(Fixture, testWithLongLongLongName) {
EXPECT_LT(1, 2);
}
int main() {
testing::InitGoogleTest();
int main(int argc, char* argv[]) {
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}

View File

@ -249,20 +249,32 @@ if netconf_opt.enabled() and NETCONF_DEP.get_variable(
endif
# Google Test
GTEST_DEP = dependency('gtest', required: TESTS_OPT.enabled() or FUZZ_OPT.enabled())
if GTEST_DEP.found()
result = cpp.run(
fs.read('compiler-checks/gtest.cc'),
name: 'Check if a simple GTest test runs.',
dependencies: [GTEST_DEP],
)
if result.returncode() != 0
GTEST_DEP = disabler()
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
# Crypto