1d7be555eSGeorge Liugtest_dep = dependency('gtest', main: true, disabler: true, required: false) 2d7be555eSGeorge Liugmock_dep = dependency('gmock', disabler: true, required: false) 3d7be555eSGeorge Liuif not gtest_dep.found() or not gmock_dep.found() 4d7be555eSGeorge Liu gtest_proj = import('cmake').subproject('googletest', required: false) 5d7be555eSGeorge Liu if gtest_proj.found() 6d7be555eSGeorge Liu gtest_dep = declare_dependency( 7d7be555eSGeorge Liu dependencies: [ 8d7be555eSGeorge Liu dependency('threads'), 9d7be555eSGeorge Liu gtest_proj.dependency('gtest'), 10d7be555eSGeorge Liu gtest_proj.dependency('gtest_main'), 11d7be555eSGeorge Liu ], 12d7be555eSGeorge Liu ) 13d7be555eSGeorge Liu gmock_dep = gtest_proj.dependency('gmock') 14d7be555eSGeorge Liu else 15d7be555eSGeorge Liu assert( 16d7be555eSGeorge Liu not get_option('tests').allowed(), 17d7be555eSGeorge Liu 'Googletest is required if tests are enabled', 18d7be555eSGeorge Liu ) 19d7be555eSGeorge Liu endif 20d7be555eSGeorge Liuendif 21d7be555eSGeorge Liu 22*ff8c90efSPatrick Williamsut_deps_list = [gtest_dep] 23d7be555eSGeorge Liu 24d7be555eSGeorge Liuut_deps_list += default_deps 25d7be555eSGeorge Liusrc_inc = include_directories('..') 26d7be555eSGeorge Liu 27d7be555eSGeorge Liutest( 28d7be555eSGeorge Liu 'test_utils', 29d7be555eSGeorge Liu executable( 30d7be555eSGeorge Liu 'test_utils', 31d7be555eSGeorge Liu 'test_Utils.cpp', 32d7be555eSGeorge Liu '../Utils.cpp', 33d7be555eSGeorge Liu dependencies: ut_deps_list, 34d7be555eSGeorge Liu implicit_include_directories: false, 35d7be555eSGeorge Liu include_directories: src_inc, 36d7be555eSGeorge Liu ), 37d7be555eSGeorge Liu) 38d7be555eSGeorge Liu 39d7be555eSGeorge Liutest( 40d7be555eSGeorge Liu 'test_ipmb', 41d7be555eSGeorge Liu executable( 42d7be555eSGeorge Liu 'test_ipmb', 43d7be555eSGeorge Liu '../ipmb/IpmbSensor.cpp', 44d7be555eSGeorge Liu '../Utils.cpp', 45d7be555eSGeorge Liu '../ipmb/IpmbSDRSensor.cpp', 46d7be555eSGeorge Liu 'test_IpmbSensor.cpp', 47d7be555eSGeorge Liu dependencies: ut_deps_list, 48*ff8c90efSPatrick Williams link_with: [utils_a, thresholds_a, devicemgmt_a], 49d7be555eSGeorge Liu implicit_include_directories: false, 50d7be555eSGeorge Liu include_directories: src_inc, 51d7be555eSGeorge Liu ), 52d7be555eSGeorge Liu) 53275f7c39SAndrew Jeffery 54275f7c39SAndrew Jefferytest( 55275f7c39SAndrew Jeffery 'MCTPReactor', 56275f7c39SAndrew Jeffery executable( 57275f7c39SAndrew Jeffery 'test_MCTPReactor', 58275f7c39SAndrew Jeffery 'test_MCTPReactor.cpp', 59275f7c39SAndrew Jeffery '../mctp/MCTPReactor.cpp', 60275f7c39SAndrew Jeffery '../mctp/MCTPEndpoint.cpp', 61275f7c39SAndrew Jeffery dependencies: [gmock_dep, ut_deps_list, utils_dep], 62275f7c39SAndrew Jeffery implicit_include_directories: false, 63*ff8c90efSPatrick Williams include_directories: '../mctp', 64*ff8c90efSPatrick Williams ), 65275f7c39SAndrew Jeffery) 66275f7c39SAndrew Jeffery 67275f7c39SAndrew Jefferytest( 68275f7c39SAndrew Jeffery 'MCTPEndpoint', 69275f7c39SAndrew Jeffery executable( 70275f7c39SAndrew Jeffery 'test_MCTPEndpoint', 71275f7c39SAndrew Jeffery 'test_MCTPEndpoint.cpp', 72275f7c39SAndrew Jeffery '../mctp/MCTPEndpoint.cpp', 73275f7c39SAndrew Jeffery dependencies: [gmock_dep, ut_deps_list, utils_dep], 74275f7c39SAndrew Jeffery implicit_include_directories: false, 75*ff8c90efSPatrick Williams include_directories: '../mctp', 76*ff8c90efSPatrick Williams ), 77275f7c39SAndrew Jeffery) 78