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 ) 11 if gtest_proj.found() 12 gtest = declare_dependency( 13 dependencies: [ 14 dependency('threads'), 15 gtest_proj.dependency('gtest'), 16 gtest_proj.dependency('gtest_main'), 17 ], 18 ) 19 gmock = gtest_proj.dependency('gmock') 20 else 21 assert(not build_tests.enabled(), 'Googletest is required') 22 endif 23endif 24 25 26tests = [ 27 'clock', 28 'event', 29 'exception', 30 'source/base', 31 'source/child', 32 'source/event', 33 'source/io', 34 'source/signal', 35 'source/time', 36 'utility/sdbus', 37 'utility/timer', 38] 39 40foreach t : tests 41 test( 42 t, 43 executable( 44 t.underscorify(), 45 t + '.cpp', 46 implicit_include_directories: false, 47 dependencies: [ 48 dependency('sdbusplus'), 49 sdeventplus_dep, 50 gtest, 51 gmock, 52 ], 53 ), 54 ) 55endforeach 56