xref: /openbmc/google-misc/subprojects/nemora-postd/meson.build (revision 24c61c7ee8583830fd0916b7b2c7bf0561569e0f)
114fe6698SNan Zhou# Copyright 2021 Google LLC
214fe6698SNan Zhou#
314fe6698SNan Zhou# Licensed under the Apache License, Version 2.0 (the "License");
414fe6698SNan Zhou# you may not use this file except in compliance with the License.
514fe6698SNan Zhou# You may obtain a copy of the License at
614fe6698SNan Zhou#
714fe6698SNan Zhou#      http://www.apache.org/licenses/LICENSE-2.0
814fe6698SNan Zhou#
914fe6698SNan Zhou# Unless required by applicable law or agreed to in writing, software
1014fe6698SNan Zhou# distributed under the License is distributed on an "AS IS" BASIS,
1114fe6698SNan Zhou# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1214fe6698SNan Zhou# See the License for the specific language governing permissions and
1314fe6698SNan Zhou# limitations under the License.
1414fe6698SNan Zhou
1514fe6698SNan Zhouproject(
1614fe6698SNan Zhou    'nemora-postd',
1714fe6698SNan Zhou    'cpp',
1814fe6698SNan Zhou    version: '0.1',
19*24c61c7eSPatrick Williams    default_options: ['warning_level=3', 'werror=true', 'cpp_std=c++23'],
2014fe6698SNan Zhou)
2114fe6698SNan Zhou
2214fe6698SNan Zhouprotobuf = dependency('protobuf')
2314fe6698SNan Zhouphosphor_dbus_interfaces = dependency('phosphor-dbus-interfaces')
2414fe6698SNan Zhousdbusplus = dependency('sdbusplus')
2514fe6698SNan Zhouthreads = dependency('threads')
2614fe6698SNan Zhoulogging = dependency('phosphor-logging')
2714fe6698SNan Zhou
2814fe6698SNan Zhouprotoc = find_program('protoc', native: true)
2914fe6698SNan Zhou
3014fe6698SNan Zhouproto = custom_target(
3114fe6698SNan Zhou    'event_message_proto',
3214fe6698SNan Zhou    command: [
3314fe6698SNan Zhou        find_program('protoc', native: true),
3414fe6698SNan Zhou        '--proto_path=@CURRENT_SOURCE_DIR@',
3514fe6698SNan Zhou        '--cpp_out=@OUTDIR@',
36*24c61c7eSPatrick Williams        '@INPUT@',
3714fe6698SNan Zhou    ],
38*24c61c7eSPatrick Williams    output: ['event_message.pb.cc', 'event_message.pb.h'],
39*24c61c7eSPatrick Williams    input: 'event_message.proto',
40*24c61c7eSPatrick Williams)
4114fe6698SNan Zhou
4214fe6698SNan Zhouexecutable(
4314fe6698SNan Zhou    'nemora-postd',
4414fe6698SNan Zhou    'nemorad.cpp',
4514fe6698SNan Zhou    'src/host_manager.cpp',
4614fe6698SNan Zhou    'src/nemora.cpp',
4714fe6698SNan Zhou    'src/socket_manager.cpp',
4814fe6698SNan Zhou    'src/serializer.cpp',
4914fe6698SNan Zhou    proto,
5014fe6698SNan Zhou    include_directories: include_directories('.'),
51*24c61c7eSPatrick Williams    dependencies: [
52*24c61c7eSPatrick Williams        protobuf,
53*24c61c7eSPatrick Williams        phosphor_dbus_interfaces,
54*24c61c7eSPatrick Williams        sdbusplus,
55*24c61c7eSPatrick Williams        threads,
56*24c61c7eSPatrick Williams        logging,
57*24c61c7eSPatrick Williams    ],
58*24c61c7eSPatrick Williams    install: true,
5914fe6698SNan Zhou)
6014fe6698SNan Zhou
6114fe6698SNan Zhou
62