107f94f02SGeorge Liugtest_dep = dependency('gtest', main: true, disabler: true, required: false) 207f94f02SGeorge Liugmock_dep = dependency('gmock', disabler: true, required: false) 307f94f02SGeorge Liuif not gtest_dep.found() or not gmock_dep.found() 407f94f02SGeorge Liu gtest_proj = import('cmake').subproject('googletest', required: false) 507f94f02SGeorge Liu if gtest_proj.found() 607f94f02SGeorge Liu gtest_dep = declare_dependency( 707f94f02SGeorge Liu dependencies: [ 807f94f02SGeorge Liu dependency('threads'), 907f94f02SGeorge Liu gtest_proj.dependency('gtest'), 1007f94f02SGeorge Liu gtest_proj.dependency('gtest_main'), 1107f94f02SGeorge Liu ] 1207f94f02SGeorge Liu ) 1307f94f02SGeorge Liu gmock_dep = gtest_proj.dependency('gmock') 1407f94f02SGeorge Liu else 1507f94f02SGeorge Liu assert( 1607f94f02SGeorge Liu not get_option('tests').enabled(), 1707f94f02SGeorge Liu 'Googletest is required if tests are enabled' 1807f94f02SGeorge Liu ) 1907f94f02SGeorge Liu endif 2007f94f02SGeorge Liuendif 2107f94f02SGeorge Liu 2207f94f02SGeorge Liutest_sources = [ 2307f94f02SGeorge Liu generated_cpp, 2407f94f02SGeorge Liu gen_serialization_hpp, 2507f94f02SGeorge Liu '../association_manager.cpp', 2607f94f02SGeorge Liu '../manager.cpp', 2707f94f02SGeorge Liu '../functor.cpp', 2807f94f02SGeorge Liu '../errors.cpp', 2907f94f02SGeorge Liu] 3007f94f02SGeorge Liu 3107f94f02SGeorge Liutests = [ 3207f94f02SGeorge Liu 'associations_test.cpp', 3307f94f02SGeorge Liu 'interface_ops_test.cpp', 3407f94f02SGeorge Liu 'manager_test.cpp', 3507f94f02SGeorge Liu 'serialize_test.cpp', 3607f94f02SGeorge Liu 'types_test.cpp', 3707f94f02SGeorge Liu 'utils_test.cpp', 3807f94f02SGeorge Liu] 3907f94f02SGeorge Liu 4007f94f02SGeorge Liutest_deps = [ 4107f94f02SGeorge Liu sdbusplus_dep, 4207f94f02SGeorge Liu phosphor_dbus_interfaces_dep, 4307f94f02SGeorge Liu phosphor_logging_dep, 44*58a0c359SKonstantin Aladyshev nlohmann_json_dep, 45*58a0c359SKonstantin Aladyshev cereal_dep 4607f94f02SGeorge Liu] 4707f94f02SGeorge Liu 4807f94f02SGeorge Liuforeach t : tests 4907f94f02SGeorge Liu test(t, executable(t.underscorify(), t, 5007f94f02SGeorge Liu test_sources, 5107f94f02SGeorge Liu include_directories: ['..'], 5207f94f02SGeorge Liu dependencies: [ 5307f94f02SGeorge Liu gtest_dep, 5407f94f02SGeorge Liu gmock_dep, 5507f94f02SGeorge Liu test_deps, 5607f94f02SGeorge Liu ]), 5707f94f02SGeorge Liu workdir: meson.current_source_dir()) 5807f94f02SGeorge Liuendforeach 59