1*1285115cSWilliam A. Kennington III# Copyright 2021 Google LLC 2*1285115cSWilliam A. Kennington III# 3*1285115cSWilliam A. Kennington III# Licensed under the Apache License, Version 2.0 (the "License"); 4*1285115cSWilliam A. Kennington III# you may not use this file except in compliance with the License. 5*1285115cSWilliam A. Kennington III# You may obtain a copy of the License at 6*1285115cSWilliam A. Kennington III# 7*1285115cSWilliam A. Kennington III# http://www.apache.org/licenses/LICENSE-2.0 8*1285115cSWilliam A. Kennington III# 9*1285115cSWilliam A. Kennington III# Unless required by applicable law or agreed to in writing, software 10*1285115cSWilliam A. Kennington III# distributed under the License is distributed on an "AS IS" BASIS, 11*1285115cSWilliam A. Kennington III# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*1285115cSWilliam A. Kennington III# See the License for the specific language governing permissions and 13*1285115cSWilliam A. Kennington III# limitations under the License. 14*1285115cSWilliam A. Kennington III 15*1285115cSWilliam A. Kennington IIIproject( 16*1285115cSWilliam A. Kennington III 'metrics-ipmi-blobs', 17*1285115cSWilliam A. Kennington III 'cpp', 18*1285115cSWilliam A. Kennington III version: '0.1', 19*1285115cSWilliam A. Kennington III default_options: [ 20*1285115cSWilliam A. Kennington III 'warning_level=3', 21*1285115cSWilliam A. Kennington III 'werror=true', 22*1285115cSWilliam A. Kennington III 'cpp_std=c++17', 23*1285115cSWilliam A. Kennington III 'tests=' + (meson.is_subproject() ? 'disabled' : 'auto'), 24*1285115cSWilliam A. Kennington III ], 25*1285115cSWilliam A. Kennington III) 26*1285115cSWilliam A. Kennington III 27*1285115cSWilliam A. Kennington IIIheaders = include_directories('.') 28*1285115cSWilliam A. Kennington III 29*1285115cSWilliam A. Kennington IIIdeps = [ 30*1285115cSWilliam A. Kennington III dependency('phosphor-logging'), 31*1285115cSWilliam A. Kennington III dependency('phosphor-ipmi-blobs'), 32*1285115cSWilliam A. Kennington III dependency('protobuf'), 33*1285115cSWilliam A. Kennington III] 34*1285115cSWilliam A. Kennington III 35*1285115cSWilliam A. Kennington IIIlib = static_library( 36*1285115cSWilliam A. Kennington III 'metricsblob', 37*1285115cSWilliam A. Kennington III 'util.cpp', 38*1285115cSWilliam A. Kennington III 'handler.cpp', 39*1285115cSWilliam A. Kennington III 'metric.cpp', 40*1285115cSWilliam A. Kennington III custom_target( 41*1285115cSWilliam A. Kennington III 'metricblob_proto', 42*1285115cSWilliam A. Kennington III command: [ 43*1285115cSWilliam A. Kennington III find_program('protoc', native: true), 44*1285115cSWilliam A. Kennington III '--proto_path=@CURRENT_SOURCE_DIR@', 45*1285115cSWilliam A. Kennington III '--cpp_out=@OUTDIR@', 46*1285115cSWilliam A. Kennington III '@INPUT@' 47*1285115cSWilliam A. Kennington III ], 48*1285115cSWilliam A. Kennington III output: [ 49*1285115cSWilliam A. Kennington III 'metricblob.pb.cc', 50*1285115cSWilliam A. Kennington III 'metricblob.pb.h', 51*1285115cSWilliam A. Kennington III ], 52*1285115cSWilliam A. Kennington III input: 'metricblob.proto'), 53*1285115cSWilliam A. Kennington III include_directories: headers, 54*1285115cSWilliam A. Kennington III implicit_include_directories: false, 55*1285115cSWilliam A. Kennington III dependencies: deps) 56*1285115cSWilliam A. Kennington III 57*1285115cSWilliam A. Kennington IIIdep = declare_dependency( 58*1285115cSWilliam A. Kennington III dependencies: deps, 59*1285115cSWilliam A. Kennington III include_directories: headers, 60*1285115cSWilliam A. Kennington III link_with: lib) 61*1285115cSWilliam A. Kennington III 62*1285115cSWilliam A. Kennington IIIshared_module( 63*1285115cSWilliam A. Kennington III 'metricsblob', 64*1285115cSWilliam A. Kennington III 'main.cpp', 65*1285115cSWilliam A. Kennington III dependencies: dep, 66*1285115cSWilliam A. Kennington III implicit_include_directories: false, 67*1285115cSWilliam A. Kennington III install: true, 68*1285115cSWilliam A. Kennington III install_dir: get_option('libdir') / 'ipmid-providers') 69*1285115cSWilliam A. Kennington III 70*1285115cSWilliam A. Kennington IIIif not get_option('tests').disabled() 71*1285115cSWilliam A. Kennington III subdir('test') 72*1285115cSWilliam A. Kennington IIIendif 73