blob: a801f7f3e66e41c644b95e86b8abaa6f73adec28 [file] [log] [blame]
Konstantin Aladyshev5d234dd2024-04-22 17:52:41 +03001gmock_dep = dependency('gmock', disabler: true, required: build_tests)
Patrick Williamsc087fa72025-02-01 08:37:26 -05002gtest_dep = dependency(
3 'gtest',
4 main: true,
5 disabler: true,
6 required: build_tests,
7)
Konstantin Aladyshev5d234dd2024-04-22 17:52:41 +03008if not gtest_dep.found() or not gmock_dep.found()
9 gtest_proj = import('cmake').subproject('googletest', required: false)
10 if gtest_proj.found()
11 gtest_dep = declare_dependency(
12 dependencies: [
13 dependency('threads'),
14 gtest_proj.dependency('gtest'),
15 gtest_proj.dependency('gtest_main'),
Patrick Williamsc087fa72025-02-01 08:37:26 -050016 ],
Konstantin Aladyshev5d234dd2024-04-22 17:52:41 +030017 )
18 gmock_dep = gtest_proj.dependency('gmock')
19 else
20 assert(
21 not get_option('tests').enabled(),
Patrick Williamsc087fa72025-02-01 08:37:26 -050022 'Googletest is required if tests are enabled',
Konstantin Aladyshev5d234dd2024-04-22 17:52:41 +030023 )
24 endif
25endif
Brad Bishop2d66b512019-09-19 16:36:47 -040026
27test(
28 'utest',
29 executable(
Patrick Williamsc087fa72025-02-01 08:37:26 -050030 'utest',
31 'utest.cpp',
32 dependencies: [gmock_dep, gtest_dep, libevdev, sdbusplus],
Brad Bishop2d66b512019-09-19 16:36:47 -040033 implicit_include_directories: false,
34 include_directories: '..',
Patrick Williamsc087fa72025-02-01 08:37:26 -050035 link_with: [libevdev_o, libmonitor_o],
36 ),
Brad Bishop2d66b512019-09-19 16:36:47 -040037)