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:
parent
2b9efcd908
commit
f75f951dba
@ -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();
|
||||
}
|
||||
|
30
meson.build
30
meson.build
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user