1# Copyright 2021 Google LLC 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15project( 16 'nemora-postd', 17 'cpp', 18 version: '0.1', 19 default_options: ['warning_level=3', 'werror=true', 'cpp_std=c++23'], 20) 21 22protobuf = dependency('protobuf') 23phosphor_dbus_interfaces = dependency('phosphor-dbus-interfaces') 24sdbusplus = dependency('sdbusplus') 25threads = dependency('threads') 26logging = dependency('phosphor-logging') 27 28protoc = find_program('protoc', native: true) 29 30proto = custom_target( 31 'event_message_proto', 32 command: [ 33 find_program('protoc', native: true), 34 '--proto_path=@CURRENT_SOURCE_DIR@', 35 '--cpp_out=@OUTDIR@', 36 '@INPUT@', 37 ], 38 output: ['event_message.pb.cc', 'event_message.pb.h'], 39 input: 'event_message.proto', 40) 41 42executable( 43 'nemora-postd', 44 'nemorad.cpp', 45 'src/host_manager.cpp', 46 'src/nemora.cpp', 47 'src/socket_manager.cpp', 48 'src/serializer.cpp', 49 proto, 50 include_directories: include_directories('.'), 51 dependencies: [ 52 protobuf, 53 phosphor_dbus_interfaces, 54 sdbusplus, 55 threads, 56 logging, 57 ], 58 install: true, 59) 60 61 62