xref: /openbmc/libbej/test/meson.build (revision c3ab4171e08f02cdd0218752258b00b6f40d40ea)
1*c3ab4171SPatrick Williamsgtest = dependency(
2*c3ab4171SPatrick Williams    'gtest',
3*c3ab4171SPatrick Williams    main: true,
4*c3ab4171SPatrick Williams    disabler: true,
5*c3ab4171SPatrick Williams    required: get_option('tests'),
6*c3ab4171SPatrick Williams)
77ffd30aaSkasunathgmock = dependency('gmock', disabler: true, required: get_option('tests'))
87ffd30aaSkasunath
97ffd30aaSkasunathif not gtest.found() or not gmock.found()
107ffd30aaSkasunath    gtest_proj = import('cmake').subproject('googletest', required: false)
117ffd30aaSkasunath    if gtest_proj.found()
127ffd30aaSkasunath        gtest = declare_dependency(
137ffd30aaSkasunath            dependencies: [
147ffd30aaSkasunath                gtest_proj.dependency('gtest'),
157ffd30aaSkasunath                gtest_proj.dependency('gtest_main'),
16*c3ab4171SPatrick Williams            ],
17*c3ab4171SPatrick Williams        )
187ffd30aaSkasunath        gmock = gtest_proj.dependency('gmock')
197ffd30aaSkasunath    else
206eb945faSPatrick Williams        assert(not get_option('tests').allowed(), 'Googletest is required')
217ffd30aaSkasunath    endif
227ffd30aaSkasunathendif
237ffd30aaSkasunath
247ffd30aaSkasunathgtests = [
25e8946af6Skasunath    'bej_decoder',
260aa36d82Skasunath    'bej_common',
27d073aa1aSkasunath    'bej_dictionary',
282ebe82f5Skasunath    'bej_tree',
29*c3ab4171SPatrick Williams    'bej_encoder',
307ffd30aaSkasunath]
31da6e5573SNikhil Namjoshi
322bc745a3SKonstantin Aladyshevnlohmann_json_dep = dependency('nlohmann_json', include_type: 'system')
332bc745a3SKonstantin Aladyshev
34da6e5573SNikhil Namjoshilibbej_test_incs = include_directories('include')
357ffd30aaSkasunathforeach t : gtests
36*c3ab4171SPatrick Williams    test(
37*c3ab4171SPatrick Williams        t,
38*c3ab4171SPatrick Williams        executable(
39*c3ab4171SPatrick Williams            t.underscorify(),
40*c3ab4171SPatrick Williams            t + '_test.cpp',
417ffd30aaSkasunath            build_by_default: false,
427ffd30aaSkasunath            implicit_include_directories: false,
43da6e5573SNikhil Namjoshi            include_directories: libbej_test_incs,
44*c3ab4171SPatrick Williams            dependencies: [libbej, gtest, gmock, nlohmann_json_dep],
45*c3ab4171SPatrick Williams        ),
46*c3ab4171SPatrick Williams    )
477ffd30aaSkasunathendforeach
48