1gtest = dependency('gtest', main: true, disabler: true, required: false) 2gmock = dependency('gmock', disabler: true, required: false) 3if not gtest.found() or not gmock.found() 4 gtest_proj = import('cmake').subproject('googletest', required: false) 5 if gtest_proj.found() 6 gtest = declare_dependency( 7 dependencies: [ 8 dependency('threads'), 9 gtest_proj.dependency('gtest'), 10 gtest_proj.dependency('gtest_main'), 11 ], 12 ) 13 gmock = 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 22sources = [ 23 'ir-tests.cpp', 24 'test-utils.cpp', 25 'base64_test.cpp', 26] 27 28test_include_dirs = ['.', '..'] 29 30run_command('cp', '-r', '../specification/json/', meson.current_build_dir()) 31run_command( 32 'mv', 33 meson.current_build_dir() / 'json', 34 meson.current_build_dir() / 'specification', 35) 36 37tests = ['cper-tests'] 38 39test( 40 'test-cper-tests', 41 executable( 42 'cper-tests', 43 sources, 44 implicit_include_directories: false, 45 include_directories: include_directories(test_include_dirs), 46 cpp_args: '-fpermissive', 47 dependencies: [libcper_parse, libcper_generate, json_c_dep, gtest, gmock], 48 ), 49) 50