11285115cSWilliam A. Kennington III# Copyright 2021 Google LLC
21285115cSWilliam A. Kennington III#
31285115cSWilliam A. Kennington III# Licensed under the Apache License, Version 2.0 (the "License");
41285115cSWilliam A. Kennington III# you may not use this file except in compliance with the License.
51285115cSWilliam A. Kennington III# You may obtain a copy of the License at
61285115cSWilliam A. Kennington III#
71285115cSWilliam A. Kennington III#      http://www.apache.org/licenses/LICENSE-2.0
81285115cSWilliam A. Kennington III#
91285115cSWilliam A. Kennington III# Unless required by applicable law or agreed to in writing, software
101285115cSWilliam A. Kennington III# distributed under the License is distributed on an "AS IS" BASIS,
111285115cSWilliam A. Kennington III# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
121285115cSWilliam A. Kennington III# See the License for the specific language governing permissions and
131285115cSWilliam A. Kennington III# limitations under the License.
141285115cSWilliam A. Kennington III
151285115cSWilliam A. Kennington IIIproject(
161285115cSWilliam A. Kennington III  'metrics-ipmi-blobs',
171285115cSWilliam A. Kennington III  'cpp',
181285115cSWilliam A. Kennington III  version: '0.1',
191285115cSWilliam A. Kennington III  default_options: [
201285115cSWilliam A. Kennington III    'warning_level=3',
211285115cSWilliam A. Kennington III    'werror=true',
221285115cSWilliam A. Kennington III    'cpp_std=c++17',
231285115cSWilliam A. Kennington III    'tests=' + (meson.is_subproject() ? 'disabled' : 'auto'),
241285115cSWilliam A. Kennington III  ],
251285115cSWilliam A. Kennington III)
261285115cSWilliam A. Kennington III
271285115cSWilliam A. Kennington IIIheaders = include_directories('.')
281285115cSWilliam A. Kennington III
291285115cSWilliam A. Kennington IIIdeps = [
301285115cSWilliam A. Kennington III  dependency('phosphor-logging'),
311285115cSWilliam A. Kennington III  dependency('phosphor-ipmi-blobs'),
321285115cSWilliam A. Kennington III  dependency('protobuf'),
33b63d6314SMichael Shen  dependency('sdbusplus'),
341285115cSWilliam A. Kennington III]
351285115cSWilliam A. Kennington III
36b056df69SWilliam A. Kennington IIIproto = custom_target(
371285115cSWilliam A. Kennington III  'metricblob_proto',
381285115cSWilliam A. Kennington III  command: [
391285115cSWilliam A. Kennington III    find_program('protoc', native: true),
401285115cSWilliam A. Kennington III    '--proto_path=@CURRENT_SOURCE_DIR@',
411285115cSWilliam A. Kennington III    '--cpp_out=@OUTDIR@',
421285115cSWilliam A. Kennington III    '@INPUT@'
431285115cSWilliam A. Kennington III  ],
441285115cSWilliam A. Kennington III  output: [
451285115cSWilliam A. Kennington III    'metricblob.pb.cc',
461285115cSWilliam A. Kennington III    'metricblob.pb.h',
471285115cSWilliam A. Kennington III  ],
48b056df69SWilliam A. Kennington III  input: 'metricblob.proto')
49b056df69SWilliam A. Kennington IIIproto_h = proto[1]
50b056df69SWilliam A. Kennington III
51b056df69SWilliam A. Kennington IIIlib = static_library(
52b056df69SWilliam A. Kennington III  'metricsblob',
53b056df69SWilliam A. Kennington III  'util.cpp',
54b056df69SWilliam A. Kennington III  'handler.cpp',
55b056df69SWilliam A. Kennington III  'metric.cpp',
56b056df69SWilliam A. Kennington III  proto,
571285115cSWilliam A. Kennington III  include_directories: headers,
581285115cSWilliam A. Kennington III  implicit_include_directories: false,
591285115cSWilliam A. Kennington III  dependencies: deps)
601285115cSWilliam A. Kennington III
611285115cSWilliam A. Kennington IIIdep = declare_dependency(
62b056df69SWilliam A. Kennington III  sources: proto_h,
631285115cSWilliam A. Kennington III  dependencies: deps,
641285115cSWilliam A. Kennington III  include_directories: headers,
651285115cSWilliam A. Kennington III  link_with: lib)
661285115cSWilliam A. Kennington III
671285115cSWilliam A. Kennington IIIshared_module(
681285115cSWilliam A. Kennington III  'metricsblob',
691285115cSWilliam A. Kennington III  'main.cpp',
701285115cSWilliam A. Kennington III  dependencies: dep,
711285115cSWilliam A. Kennington III  implicit_include_directories: false,
721285115cSWilliam A. Kennington III  install: true,
73*548f3ad1SWilliam A. Kennington III  install_dir: get_option('libdir') / 'blob-ipmid')
741285115cSWilliam A. Kennington III
751285115cSWilliam A. Kennington IIIif not get_option('tests').disabled()
761285115cSWilliam A. Kennington III  subdir('test')
771285115cSWilliam A. Kennington IIIendif
78