xref: /openbmc/libcper/tests/meson.build (revision 197ea120)
1*197ea120SJohn Chunggtest = dependency('gtest', main: true, disabler: true, required: false)
2*197ea120SJohn Chunggmock = dependency('gmock', disabler: true, required: false)
3*197ea120SJohn Chungif not gtest.found() or not gmock.found()
4*197ea120SJohn Chung    gtest_proj = import('cmake').subproject('googletest', required: false)
5*197ea120SJohn Chung    if gtest_proj.found()
6*197ea120SJohn Chung        gtest = declare_dependency(
7*197ea120SJohn Chung            dependencies: [
8*197ea120SJohn Chung                dependency('threads'),
9*197ea120SJohn Chung                gtest_proj.dependency('gtest'),
10*197ea120SJohn Chung                gtest_proj.dependency('gtest_main'),
11*197ea120SJohn Chung            ]
12*197ea120SJohn Chung        )
13*197ea120SJohn Chung        gmock = gtest_proj.dependency('gmock')
14*197ea120SJohn Chung    else
15*197ea120SJohn Chung        assert(
16*197ea120SJohn Chung            not get_option('tests').allowed(),
17*197ea120SJohn Chung            'Googletest is required if tests are enabled'
18*197ea120SJohn Chung        )
19*197ea120SJohn Chung    endif
20*197ea120SJohn Chungendif
21*197ea120SJohn Chung
22*197ea120SJohn Chungsources = [
23*197ea120SJohn Chung  'ir-tests.cpp',
24*197ea120SJohn Chung  'test-utils.cpp',
25*197ea120SJohn Chung]
26*197ea120SJohn Chung
27*197ea120SJohn Chungtest_include_dirs = ['.', '..']
28*197ea120SJohn Chung
29*197ea120SJohn Chungrun_command('cp', '-r', '../specification/json/', meson.current_build_dir())
30*197ea120SJohn Chungrun_command('mv', meson.current_build_dir() / 'json', meson.current_build_dir() / 'specification')
31*197ea120SJohn Chung
32*197ea120SJohn Chungtests = ['cper-tests']
33*197ea120SJohn Chung
34*197ea120SJohn Chungtest('test-cper-tests',
35*197ea120SJohn Chung      executable('cper-tests',
36*197ea120SJohn Chung                  sources,
37*197ea120SJohn Chung                  implicit_include_directories: false,
38*197ea120SJohn Chung                  include_directories:include_directories(test_include_dirs),
39*197ea120SJohn Chung                  cpp_args: '-fpermissive',
40*197ea120SJohn Chung                  dependencies: [
41*197ea120SJohn Chung                    libcper_parse,
42*197ea120SJohn Chung                    libcper_generate,
43*197ea120SJohn Chung                    json_c_dep,
44*197ea120SJohn Chung                    gtest,
45*197ea120SJohn Chung                    gmock])
46*197ea120SJohn Chung)
47