1*1285115cSWilliam A. Kennington IIIgtest = dependency('gtest', main: true, disabler: true, required: false)
2*1285115cSWilliam A. Kennington IIIgmock = dependency('gmock', disabler: true, required: false)
3*1285115cSWilliam A. Kennington IIIif not gtest.found() or not gmock.found()
4*1285115cSWilliam A. Kennington III  gtest_proj = import('cmake').subproject(
5*1285115cSWilliam A. Kennington III    'googletest',
6*1285115cSWilliam A. Kennington III    cmake_options: [
7*1285115cSWilliam A. Kennington III      '-DCMAKE_CXX_FLAGS=-Wno-pedantic',
8*1285115cSWilliam A. Kennington III    ],
9*1285115cSWilliam A. Kennington III    required: false)
10*1285115cSWilliam A. Kennington III  if gtest_proj.found()
11*1285115cSWilliam A. Kennington III    gtest = declare_dependency(
12*1285115cSWilliam A. Kennington III      dependencies: [
13*1285115cSWilliam A. Kennington III        dependency('threads'),
14*1285115cSWilliam A. Kennington III        gtest_proj.dependency('gtest'),
15*1285115cSWilliam A. Kennington III        gtest_proj.dependency('gtest_main'),
16*1285115cSWilliam A. Kennington III      ])
17*1285115cSWilliam A. Kennington III    gmock = gtest_proj.dependency('gmock')
18*1285115cSWilliam A. Kennington III  else
19*1285115cSWilliam A. Kennington III    assert(not get_option('tests').enabled(), 'Googletest is required')
20*1285115cSWilliam A. Kennington III  endif
21*1285115cSWilliam A. Kennington IIIendif
22*1285115cSWilliam A. Kennington III
23*1285115cSWilliam A. Kennington IIItests = [
24*1285115cSWilliam A. Kennington III  'util_test',
25*1285115cSWilliam A. Kennington III]
26*1285115cSWilliam A. Kennington III
27*1285115cSWilliam A. Kennington IIIforeach t : tests
28*1285115cSWilliam A. Kennington III  test(t, executable(t.underscorify(), t + '.cpp',
29*1285115cSWilliam A. Kennington III                     implicit_include_directories: false,
30*1285115cSWilliam A. Kennington III                     dependencies: [gtest, gmock, dep]))
31*1285115cSWilliam A. Kennington IIIendforeach
32*1285115cSWilliam A. Kennington III
33