blob: d9e9d96bb19733a7eb6146fbadad950828ac42f7 [file] [log] [blame]
Aushim Nagarkattiae8f6d92025-01-29 17:34:44 -08001cmake = import('cmake')
2
John Chung197ea122024-05-03 19:57:55 +08003gtest = dependency('gtest', main: true, disabler: true, required: false)
4gmock = dependency('gmock', disabler: true, required: false)
5if not gtest.found() or not gmock.found()
6 gtest_proj = import('cmake').subproject('googletest', required: false)
7 if gtest_proj.found()
8 gtest = declare_dependency(
9 dependencies: [
10 dependency('threads'),
11 gtest_proj.dependency('gtest'),
12 gtest_proj.dependency('gtest_main'),
Ed Tanousc833a3a2024-07-15 11:53:53 -070013 ],
John Chung197ea122024-05-03 19:57:55 +080014 )
15 gmock = gtest_proj.dependency('gmock')
16 else
17 assert(
18 not get_option('tests').allowed(),
Ed Tanousc833a3a2024-07-15 11:53:53 -070019 'Googletest is required if tests are enabled',
John Chung197ea122024-05-03 19:57:55 +080020 )
21 endif
22endif
23
Aushim Nagarkattiae8f6d92025-01-29 17:34:44 -080024nlohmann_json_dep = dependency(
25 'nlohmann_json',
26 required: false,
27 version: '>=3.11.2',
28 include_type: 'system',
29)
30if not nlohmann_json_dep.found()
31 nlohmann_proj = subproject('nlohmann_json', required: true)
32 nlohmann_json_dep = nlohmann_proj.get_variable('nlohmann_json_dep')
33endif
34
35valijson_dep = dependency('valijson', required: false)
36if not valijson_dep.found()
37 valijson_proj = cmake.subproject('valijson')
38 valijson_dep = valijson_proj.get_variable('valijson_dep')
39endif
40
Ed Tanous10eb6de2024-10-03 17:23:12 -070041sources = ['ir-tests.cpp', 'test-utils.cpp', 'base64_test.cpp']
John Chung197ea122024-05-03 19:57:55 +080042
Thu Nguyene42fb482024-10-15 14:43:11 +000043test_include_dirs = ['.', '../include']
John Chung197ea122024-05-03 19:57:55 +080044
Ed Tanousa84fc932024-07-15 13:48:35 -070045cper_tests = executable(
46 'cper-tests',
47 sources,
48 implicit_include_directories: false,
49 include_directories: include_directories(test_include_dirs),
50 cpp_args: '-fpermissive',
Ed Tanous10eb6de2024-10-03 17:23:12 -070051 dependencies: [
52 libcper_parse_dep,
53 libcper_generate_dep,
54 json_c_dep,
55 gtest,
56 gmock,
Aushim Nagarkattiae8f6d92025-01-29 17:34:44 -080057 nlohmann_json_dep,
58 valijson_dep
Ed Tanous10eb6de2024-10-03 17:23:12 -070059 ],
John Chung197ea122024-05-03 19:57:55 +080060)
Karthik Rajagopalan9fe2cb52024-08-08 15:12:29 -070061test('test-cper-tests', cper_tests)