blob: 9efc7aed90b1b631c0ea969f8e945e0322bad346 [file] [log] [blame]
John Chung197ea122024-05-03 19:57:55 +08001gtest = 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'),
Ed Tanousc833a3a2024-07-15 11:53:53 -070011 ],
John Chung197ea122024-05-03 19:57:55 +080012 )
13 gmock = gtest_proj.dependency('gmock')
14 else
15 assert(
16 not get_option('tests').allowed(),
Ed Tanousc833a3a2024-07-15 11:53:53 -070017 'Googletest is required if tests are enabled',
John Chung197ea122024-05-03 19:57:55 +080018 )
19 endif
20endif
21
22sources = [
Ed Tanousc833a3a2024-07-15 11:53:53 -070023 'ir-tests.cpp',
24 'test-utils.cpp',
Ed Tanousa7d2cdd2024-07-15 11:07:27 -070025 'base64_test.cpp',
John Chung197ea122024-05-03 19:57:55 +080026]
27
28test_include_dirs = ['.', '..']
29
30run_command('cp', '-r', '../specification/json/', meson.current_build_dir())
Ed Tanousc833a3a2024-07-15 11:53:53 -070031run_command(
32 'mv',
33 meson.current_build_dir() / 'json',
34 meson.current_build_dir() / 'specification',
35)
John Chung197ea122024-05-03 19:57:55 +080036
37tests = ['cper-tests']
38
Ed Tanousc833a3a2024-07-15 11:53:53 -070039test(
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 ),
John Chung197ea122024-05-03 19:57:55 +080049)