blob: 6fcfd04bdf166fff03328e9f304f78793d77b7cc [file] [log] [blame]
George Liu94f781a2022-07-04 14:35:10 +08001gtest_dep = dependency('gtest', main: true, disabler: true, required: false)
2gmock_dep = dependency('gmock', disabler: true, required: false)
3if not gtest_dep.found() or not gmock_dep.found()
4 gtest_proj = import('cmake').subproject('googletest', required: false)
5 if gtest_proj.found()
6 gtest_dep = declare_dependency(
7 dependencies: [
8 dependency('threads'),
9 gtest_proj.dependency('gtest'),
10 gtest_proj.dependency('gtest_main'),
Patrick Williams888f0d32025-03-03 11:08:04 -050011 ],
George Liu94f781a2022-07-04 14:35:10 +080012 )
13 gmock_dep = gtest_proj.dependency('gmock')
Patrick Williams888f0d32025-03-03 11:08:04 -050014 else
George Liu94f781a2022-07-04 14:35:10 +080015 assert(
16 not get_option('tests').enabled(),
Patrick Williams888f0d32025-03-03 11:08:04 -050017 'Googletest is required if tests are enabled',
George Liu94f781a2022-07-04 14:35:10 +080018 )
Patrick Williams888f0d32025-03-03 11:08:04 -050019 endif
George Liu94f781a2022-07-04 14:35:10 +080020endif
21
Patrick Williams888f0d32025-03-03 11:08:04 -050022test_sources = ['../integrity_algo.cpp', '../crypt_algo.cpp']
George Liu94f781a2022-07-04 14:35:10 +080023
Patrick Williams888f0d32025-03-03 11:08:04 -050024tests = ['cipher.cpp']
George Liu94f781a2022-07-04 14:35:10 +080025
26foreach t : tests
Patrick Williams888f0d32025-03-03 11:08:04 -050027 test(
28 t,
29 executable(
30 t.underscorify(),
31 t,
32 test_sources,
33 include_directories: ['..'],
34 dependencies: [gtest_dep, gmock_dep, libcrypto_dep],
35 ),
36 workdir: meson.current_source_dir(),
37 )
38endforeach