1gtest_dep = dependency('gtest', main: true, disabler: true, required: false) 2gmock_dep = dependency('gmock', disabler: true, required: false) 3if not gtest_dep.found() or not gmock_dep.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_dep = declare_dependency( 12 dependencies: [ 13 dependency('threads'), 14 gtest_proj.dependency('gtest'), 15 gtest_proj.dependency('gtest_main'), 16 ]) 17 gmock_dep = gtest_proj.dependency('gmock') 18 else 19 assert(not build_tests.enabled(), 'Googletest is required') 20 endif 21endif 22 23 24tests = [ 25 'chip', 26 'event', 27 'handle', 28 'internal/fd', 29 'mocks', 30 'utility/aspeed', 31] 32 33foreach t : tests 34 test( 35 t, 36 executable( 37 t.underscorify(), t + '.cpp', 38 implicit_include_directories: false, 39 dependencies: [gpioplus_dep, gtest_dep, gmock_dep])) 40endforeach 41