1*c3ab4171SPatrick Williamsgtest = dependency( 2*c3ab4171SPatrick Williams 'gtest', 3*c3ab4171SPatrick Williams main: true, 4*c3ab4171SPatrick Williams disabler: true, 5*c3ab4171SPatrick Williams required: get_option('tests'), 6*c3ab4171SPatrick Williams) 77ffd30aaSkasunathgmock = dependency('gmock', disabler: true, required: get_option('tests')) 87ffd30aaSkasunath 97ffd30aaSkasunathif not gtest.found() or not gmock.found() 107ffd30aaSkasunath gtest_proj = import('cmake').subproject('googletest', required: false) 117ffd30aaSkasunath if gtest_proj.found() 127ffd30aaSkasunath gtest = declare_dependency( 137ffd30aaSkasunath dependencies: [ 147ffd30aaSkasunath gtest_proj.dependency('gtest'), 157ffd30aaSkasunath gtest_proj.dependency('gtest_main'), 16*c3ab4171SPatrick Williams ], 17*c3ab4171SPatrick Williams ) 187ffd30aaSkasunath gmock = gtest_proj.dependency('gmock') 197ffd30aaSkasunath else 206eb945faSPatrick Williams assert(not get_option('tests').allowed(), 'Googletest is required') 217ffd30aaSkasunath endif 227ffd30aaSkasunathendif 237ffd30aaSkasunath 247ffd30aaSkasunathgtests = [ 25e8946af6Skasunath 'bej_decoder', 260aa36d82Skasunath 'bej_common', 27d073aa1aSkasunath 'bej_dictionary', 282ebe82f5Skasunath 'bej_tree', 29*c3ab4171SPatrick Williams 'bej_encoder', 307ffd30aaSkasunath] 31da6e5573SNikhil Namjoshi 322bc745a3SKonstantin Aladyshevnlohmann_json_dep = dependency('nlohmann_json', include_type: 'system') 332bc745a3SKonstantin Aladyshev 34da6e5573SNikhil Namjoshilibbej_test_incs = include_directories('include') 357ffd30aaSkasunathforeach t : gtests 36*c3ab4171SPatrick Williams test( 37*c3ab4171SPatrick Williams t, 38*c3ab4171SPatrick Williams executable( 39*c3ab4171SPatrick Williams t.underscorify(), 40*c3ab4171SPatrick Williams t + '_test.cpp', 417ffd30aaSkasunath build_by_default: false, 427ffd30aaSkasunath implicit_include_directories: false, 43da6e5573SNikhil Namjoshi include_directories: libbej_test_incs, 44*c3ab4171SPatrick Williams dependencies: [libbej, gtest, gmock, nlohmann_json_dep], 45*c3ab4171SPatrick Williams ), 46*c3ab4171SPatrick Williams ) 477ffd30aaSkasunathendforeach 48