1gtest_dep = dependency('gtest', main: true, disabler: true, required: false)
2gmock_dep = dependency('gmock', disabler: true, required: false)
3if not gtest_dep.found() or not gmock_dep.found()
4  gtest_proj = import('cmake').subproject('googletest', required: false)
5  if gtest_proj.found()
6    gtest_dep = declare_dependency(
7      dependencies: [
8        dependency('threads'),
9        gtest_proj.dependency('gtest'),
10        gtest_proj.dependency('gtest_main'),
11      ]
12    )
13    gmock_dep = gtest_proj.dependency('gmock')
14  else
15    assert(
16      not get_option('tests').allowed(),
17      'Googletest is required if tests are enabled'
18    )
19  endif
20endif
21
22test_sources = [
23  '../physical.cpp',
24  '../sysfs.cpp',
25  '../interfaces/internal_interface.cpp',
26]
27
28tests = [
29  'physical.cpp',
30  'sysfs.cpp',
31  'test_led_description.cpp',
32  'test_dbus_name.cpp',
33]
34
35foreach t : tests
36  test(t,
37       executable(
38         t.underscorify(),
39         t,
40         test_sources,
41         include_directories: ['..'],
42         dependencies: [
43           gtest_dep,
44           gmock_dep,
45           deps
46         ]
47       )
48      )
49endforeach
50