xref: /openbmc/sdeventplus/test/meson.build (revision 9f2a21c3fbb7fe42ae70568c43fd3da20ee846f4)
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_opts = import('cmake').subproject_options()
5    gtest_opts.add_cmake_defines({'CMAKE_CXX_FLAGS': '-Wno-pedantic'})
6    gtest_proj = import('cmake').subproject(
7        'googletest',
8        options: gtest_opts,
9        required: false,
10    )
11    if gtest_proj.found()
12        gtest = declare_dependency(
13            dependencies: [
14                dependency('threads'),
15                gtest_proj.dependency('gtest'),
16                gtest_proj.dependency('gtest_main'),
17            ],
18        )
19        gmock = gtest_proj.dependency('gmock')
20    else
21        assert(not build_tests.enabled(), 'Googletest is required')
22    endif
23endif
24
25
26tests = [
27    'clock',
28    'event',
29    'exception',
30    'source/base',
31    'source/child',
32    'source/event',
33    'source/io',
34    'source/signal',
35    'source/time',
36    'utility/sdbus',
37    'utility/timer',
38]
39
40foreach t : tests
41    test(
42        t,
43        executable(
44            t.underscorify(),
45            t + '.cpp',
46            implicit_include_directories: false,
47            dependencies: [
48                dependency('sdbusplus'),
49                sdeventplus_dep,
50                gtest,
51                gmock,
52            ],
53        ),
54    )
55endforeach
56