xref: /openbmc/google-misc/libcr51sign/subprojects/dhcp-done/meson.build (revision 24c61c7ee8583830fd0916b7b2c7bf0561569e0f)
1dffd6523SWilliam A. Kennington III# Copyright 2022 Google LLC
2dffd6523SWilliam A. Kennington III#
3dffd6523SWilliam A. Kennington III# Licensed under the Apache License, Version 2.0 (the "License");
4dffd6523SWilliam A. Kennington III# you may not use this file except in compliance with the License.
5dffd6523SWilliam A. Kennington III# You may obtain a copy of the License at
6dffd6523SWilliam A. Kennington III#
7dffd6523SWilliam A. Kennington III#      http://www.apache.org/licenses/LICENSE-2.0
8dffd6523SWilliam A. Kennington III#
9dffd6523SWilliam A. Kennington III# Unless required by applicable law or agreed to in writing, software
10dffd6523SWilliam A. Kennington III# distributed under the License is distributed on an "AS IS" BASIS,
11dffd6523SWilliam A. Kennington III# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12dffd6523SWilliam A. Kennington III# See the License for the specific language governing permissions and
13dffd6523SWilliam A. Kennington III# limitations under the License.
14dffd6523SWilliam A. Kennington III
15dffd6523SWilliam A. Kennington IIIproject(
16dffd6523SWilliam A. Kennington III    'dhcp-done',
17dffd6523SWilliam A. Kennington III    'cpp',
18dffd6523SWilliam A. Kennington III    version: '0.1',
191dfe24eaSPatrick Williams    meson_version: '>=1.1.1',
20*24c61c7eSPatrick Williams    default_options: ['warning_level=3', 'werror=true', 'cpp_std=c++23'],
21dffd6523SWilliam A. Kennington III)
22dffd6523SWilliam A. Kennington III
23*24c61c7eSPatrick Williamsdeps = [dependency('sdeventplus'), dependency('stdplus')]
24dffd6523SWilliam A. Kennington III
25dffd6523SWilliam A. Kennington IIIlibexecdir = get_option('prefix') / get_option('libexecdir')
261e76060aSYuxiao Zhangbindir = get_option('prefix') / get_option('bindir')
271e76060aSYuxiao Zhang
281e76060aSYuxiao Zhangfileio_lib = static_library(
291e76060aSYuxiao Zhang    'fileio',
30*24c61c7eSPatrick Williams    ['file-io.cpp'],
31*24c61c7eSPatrick Williams    implicit_include_directories: false,
32*24c61c7eSPatrick Williams)
33dffd6523SWilliam A. Kennington III
34dffd6523SWilliam A. Kennington IIIexecutable(
35dffd6523SWilliam A. Kennington III    'dhcp-done',
36dffd6523SWilliam A. Kennington III    'dhcp-done.cpp',
37dffd6523SWilliam A. Kennington III    implicit_include_directories: false,
38dffd6523SWilliam A. Kennington III    dependencies: deps,
391e76060aSYuxiao Zhang    link_with: fileio_lib,
40dffd6523SWilliam A. Kennington III    install: true,
41*24c61c7eSPatrick Williams    install_dir: libexecdir,
42*24c61c7eSPatrick Williams)
43dffd6523SWilliam A. Kennington III
441e76060aSYuxiao Zhangexecutable(
451e76060aSYuxiao Zhang    'update-dhcp-status',
461e76060aSYuxiao Zhang    'update-dhcp-status.cpp',
471e76060aSYuxiao Zhang    implicit_include_directories: false,
481e76060aSYuxiao Zhang    dependencies: deps,
491e76060aSYuxiao Zhang    link_with: fileio_lib,
501e76060aSYuxiao Zhang    install: true,
51*24c61c7eSPatrick Williams    install_dir: bindir,
52*24c61c7eSPatrick Williams)
531e76060aSYuxiao Zhang
54dffd6523SWilliam A. Kennington IIIsystemd = dependency('systemd')
554c4e94f0SPatrick Williamssystemunitdir = systemd.get_variable('systemdsystemunitdir')
56dffd6523SWilliam A. Kennington III
57dffd6523SWilliam A. Kennington IIIconfigure_file(
58dffd6523SWilliam A. Kennington III    configuration: {'BIN': libexecdir / 'dhcp-done'},
591e76060aSYuxiao Zhang    input: 'dhcp-done.service.in',
601e76060aSYuxiao Zhang    output: 'dhcp-done.service',
61dffd6523SWilliam A. Kennington III    install_mode: 'rw-r--r--',
62*24c61c7eSPatrick Williams    install_dir: systemunitdir,
63*24c61c7eSPatrick Williams)
641e76060aSYuxiao Zhang
651e76060aSYuxiao Zhangbuild_tests = get_option('tests')
661e76060aSYuxiao Zhang
67a2d0c9e8SPatrick Williams#if build_tests.allowed()
681e76060aSYuxiao Zhangsubdir('test')
691e76060aSYuxiao Zhang#endif
70