xref: /openbmc/phosphor-certificate-manager/meson.build (revision e0e2cce95a5fad8431d4c40f81519447af8e701f)
1bb939ea4SPatrick Williamsproject(
2bb939ea4SPatrick Williams    'phosphor-certificate-manager',
3bb939ea4SPatrick Williams    'cpp',
4bb939ea4SPatrick Williams    default_options: [
5bb939ea4SPatrick Williams        'buildtype=debugoptimized',
6bb939ea4SPatrick Williams        'cpp_std=c++20',
7bb939ea4SPatrick Williams        'warning_level=3',
8bb939ea4SPatrick Williams        'werror=true',
9bb939ea4SPatrick Williams    ],
10bb939ea4SPatrick Williams    meson_version: '>=0.57.0',
11bb939ea4SPatrick Williams)
12bb939ea4SPatrick Williams
13bb939ea4SPatrick Williamscpp = meson.get_compiler('cpp')
14bb939ea4SPatrick Williams
15bb939ea4SPatrick Williamssdbusplus_dep = dependency(
16bb939ea4SPatrick Williams    'sdbusplus',
17bb939ea4SPatrick Williams    fallback: ['sdbusplus', 'sdbusplus_dep'],
18bb939ea4SPatrick Williams)
19bb939ea4SPatrick Williams
20bb939ea4SPatrick Williamssdeventplus_dep = dependency(
21bb939ea4SPatrick Williams    'sdeventplus',
22bb939ea4SPatrick Williams    fallback: ['sdeventplus', 'sdeventplus_dep'],
23bb939ea4SPatrick Williams)
24bb939ea4SPatrick Williams
25bb939ea4SPatrick Williamsphosphor_dbus_interfaces_dep = dependency(
26bb939ea4SPatrick Williams    'phosphor-dbus-interfaces',
27bb939ea4SPatrick Williams    fallback: [
28bb939ea4SPatrick Williams        'phosphor-dbus-interfaces',
29bb939ea4SPatrick Williams        'phosphor_dbus_interfaces_dep'
30bb939ea4SPatrick Williams    ],
31bb939ea4SPatrick Williams)
32bb939ea4SPatrick Williams
33bb939ea4SPatrick Williamsphosphor_logging_dep = dependency(
34bb939ea4SPatrick Williams    'phosphor-logging',
35bb939ea4SPatrick Williams    fallback: ['phosphor-logging', 'phosphor_logging_dep'],
36bb939ea4SPatrick Williams)
37bb939ea4SPatrick Williams
38bb939ea4SPatrick Williamssystemd_dep = dependency('systemd')
39bb939ea4SPatrick Williamsopenssl_dep = dependency('openssl')
40bb939ea4SPatrick Williams
41bb939ea4SPatrick Williamsconfig_data = configuration_data()
42bb939ea4SPatrick Williamsconfig_data.set(
43bb939ea4SPatrick Williams    'authority_limit',
44bb939ea4SPatrick Williams     get_option('authority-limit')
45bb939ea4SPatrick Williams)
46bb939ea4SPatrick Williams
47bb939ea4SPatrick Williamsconfigure_file(
48*e0e2cce9SPatrick Williams    input: 'config.h.in',
49bb939ea4SPatrick Williams    output: 'config.h',
50bb939ea4SPatrick Williams    configuration: config_data
51bb939ea4SPatrick Williams)
52bb939ea4SPatrick Williams
53bb939ea4SPatrick Williamsphosphor_certificate_deps = [
54bb939ea4SPatrick Williams    openssl_dep,
55bb939ea4SPatrick Williams    phosphor_dbus_interfaces_dep,
56bb939ea4SPatrick Williams    phosphor_logging_dep,
57bb939ea4SPatrick Williams    sdbusplus_dep,
58bb939ea4SPatrick Williams    sdeventplus_dep,
59bb939ea4SPatrick Williams]
60bb939ea4SPatrick Williams
61bb939ea4SPatrick Williamscert_manager_lib = static_library(
62bb939ea4SPatrick Williams    'phosphor-certificate-manager',
63bb939ea4SPatrick Williams    [
64bb939ea4SPatrick Williams        'argument.cpp',
65bb939ea4SPatrick Williams        'certificate.cpp',
66bb939ea4SPatrick Williams        'certs_manager.cpp',
67bb939ea4SPatrick Williams        'csr.cpp',
68bb939ea4SPatrick Williams        'watch.cpp',
69bb939ea4SPatrick Williams    ],
70bb939ea4SPatrick Williams    dependencies: phosphor_certificate_deps,
71bb939ea4SPatrick Williams)
72bb939ea4SPatrick Williams
73bb939ea4SPatrick Williamscert_manager_dep = declare_dependency(
74bb939ea4SPatrick Williams    link_with: cert_manager_lib,
75bb939ea4SPatrick Williams    dependencies: phosphor_certificate_deps
76bb939ea4SPatrick Williams)
77bb939ea4SPatrick Williams
78bb939ea4SPatrick Williamsexecutable(
79bb939ea4SPatrick Williams    'phosphor-certificate-manager',
80bb939ea4SPatrick Williams    'mainapp.cpp',
81bb939ea4SPatrick Williams    dependencies: cert_manager_dep,
82bb939ea4SPatrick Williams    install: true,
83bb939ea4SPatrick Williams)
84bb939ea4SPatrick Williams
85bb939ea4SPatrick Williamsif not get_option('ca-cert-extension').disabled()
86bb939ea4SPatrick Williams  subdir('bmc-vmi-ca')
87bb939ea4SPatrick Williamsendif
88bb939ea4SPatrick Williams
89bb939ea4SPatrick Williamssubdir('dist')
90bb939ea4SPatrick Williams
91bb939ea4SPatrick Williamsif not get_option('tests').disabled()
92bb939ea4SPatrick Williams    subdir('test')
93bb939ea4SPatrick Williamsendif
94bb939ea4SPatrick Williams
95