1gtest = dependency('gtest', main: true, disabler: true, required: false) 2gmock = dependency('gmock', disabler: true, required: false) 3if not gtest.found() or not gmock.found() 4 gtest_opts = import('cmake').subproject_options() 5 gtest_opts.add_cmake_defines({'CMAKE_CXX_FLAGS': '-Wno-pedantic'}) 6 gtest_proj = import('cmake').subproject( 7 'googletest', 8 options: gtest_opts, 9 required: false) 10 if gtest_proj.found() 11 gtest = declare_dependency( 12 dependencies: [ 13 dependency('threads'), 14 gtest_proj.dependency('gtest'), 15 gtest_proj.dependency('gtest_main'), 16 ]) 17 gmock = gtest_proj.dependency('gmock') 18 else 19 assert(not build_tests.enabled(), 'Googletest is required') 20 endif 21endif 22 23 24tests = [ 25 'clock', 26 'event', 27 'exception', 28 'source/base', 29 'source/child', 30 'source/event', 31 'source/io', 32 'source/signal', 33 'source/time', 34 'utility/timer', 35] 36 37foreach t : tests 38 test(t, executable(t.underscorify(), t + '.cpp', 39 implicit_include_directories: false, 40 dependencies: [sdeventplus_dep, gtest, gmock])) 41endforeach 42