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_proj = import('cmake').subproject('googletest', required: false) 5 if gtest_proj.found() 6 gtest_dep = declare_dependency( 7 dependencies: [ 8 dependency('threads'), 9 gtest_proj.dependency('gtest'), 10 gtest_proj.dependency('gtest_main'), 11 ] 12 ) 13 gmock_dep = gtest_proj.dependency('gmock') 14 else 15 assert( 16 not get_option('tests').allowed(), 17 'Googletest is required if tests are enabled' 18 ) 19 endif 20endif 21 22test_sources = [ 23 '../physical.cpp', 24 '../sysfs.cpp', 25 '../interfaces/internal_interface.cpp', 26] 27 28tests = [ 29 'physical.cpp', 30 'sysfs.cpp', 31 'test_led_description.cpp', 32 'test_dbus_name.cpp', 33] 34 35foreach t : tests 36 test(t, 37 executable( 38 t.underscorify(), 39 t, 40 test_sources, 41 include_directories: ['..'], 42 dependencies: [ 43 gtest_dep, 44 gmock_dep, 45 deps 46 ] 47 ) 48 ) 49endforeach 50