1*07f94f02SGeorge Liugtest_dep = dependency('gtest', main: true, disabler: true, required: false) 2*07f94f02SGeorge Liugmock_dep = dependency('gmock', disabler: true, required: false) 3*07f94f02SGeorge Liuif not gtest_dep.found() or not gmock_dep.found() 4*07f94f02SGeorge Liu gtest_proj = import('cmake').subproject('googletest', required: false) 5*07f94f02SGeorge Liu if gtest_proj.found() 6*07f94f02SGeorge Liu gtest_dep = declare_dependency( 7*07f94f02SGeorge Liu dependencies: [ 8*07f94f02SGeorge Liu dependency('threads'), 9*07f94f02SGeorge Liu gtest_proj.dependency('gtest'), 10*07f94f02SGeorge Liu gtest_proj.dependency('gtest_main'), 11*07f94f02SGeorge Liu ] 12*07f94f02SGeorge Liu ) 13*07f94f02SGeorge Liu gmock_dep = gtest_proj.dependency('gmock') 14*07f94f02SGeorge Liu else 15*07f94f02SGeorge Liu assert( 16*07f94f02SGeorge Liu not get_option('tests').enabled(), 17*07f94f02SGeorge Liu 'Googletest is required if tests are enabled' 18*07f94f02SGeorge Liu ) 19*07f94f02SGeorge Liu endif 20*07f94f02SGeorge Liuendif 21*07f94f02SGeorge Liu 22*07f94f02SGeorge Liutest_sources = [ 23*07f94f02SGeorge Liu generated_cpp, 24*07f94f02SGeorge Liu gen_serialization_hpp, 25*07f94f02SGeorge Liu '../association_manager.cpp', 26*07f94f02SGeorge Liu '../manager.cpp', 27*07f94f02SGeorge Liu '../functor.cpp', 28*07f94f02SGeorge Liu '../errors.cpp', 29*07f94f02SGeorge Liu] 30*07f94f02SGeorge Liu 31*07f94f02SGeorge Liutests = [ 32*07f94f02SGeorge Liu 'associations_test.cpp', 33*07f94f02SGeorge Liu 'interface_ops_test.cpp', 34*07f94f02SGeorge Liu 'manager_test.cpp', 35*07f94f02SGeorge Liu 'serialize_test.cpp', 36*07f94f02SGeorge Liu 'types_test.cpp', 37*07f94f02SGeorge Liu 'utils_test.cpp', 38*07f94f02SGeorge Liu] 39*07f94f02SGeorge Liu 40*07f94f02SGeorge Liutest_deps = [ 41*07f94f02SGeorge Liu sdbusplus_dep, 42*07f94f02SGeorge Liu phosphor_dbus_interfaces_dep, 43*07f94f02SGeorge Liu phosphor_logging_dep, 44*07f94f02SGeorge Liu] 45*07f94f02SGeorge Liu 46*07f94f02SGeorge Liuforeach t : tests 47*07f94f02SGeorge Liu test(t, executable(t.underscorify(), t, 48*07f94f02SGeorge Liu test_sources, 49*07f94f02SGeorge Liu include_directories: ['..'], 50*07f94f02SGeorge Liu dependencies: [ 51*07f94f02SGeorge Liu gtest_dep, 52*07f94f02SGeorge Liu gmock_dep, 53*07f94f02SGeorge Liu test_deps, 54*07f94f02SGeorge Liu ]), 55*07f94f02SGeorge Liu workdir: meson.current_source_dir()) 56*07f94f02SGeorge Liuendforeach 57