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'),
331285115cSWilliam A. Kennington III]
341285115cSWilliam A. Kennington III
35*b056df69SWilliam A. Kennington IIIproto = custom_target(
361285115cSWilliam A. Kennington III  'metricblob_proto',
371285115cSWilliam A. Kennington III  command: [
381285115cSWilliam A. Kennington III    find_program('protoc', native: true),
391285115cSWilliam A. Kennington III    '--proto_path=@CURRENT_SOURCE_DIR@',
401285115cSWilliam A. Kennington III    '--cpp_out=@OUTDIR@',
411285115cSWilliam A. Kennington III    '@INPUT@'
421285115cSWilliam A. Kennington III  ],
431285115cSWilliam A. Kennington III  output: [
441285115cSWilliam A. Kennington III    'metricblob.pb.cc',
451285115cSWilliam A. Kennington III    'metricblob.pb.h',
461285115cSWilliam A. Kennington III  ],
47*b056df69SWilliam A. Kennington III  input: 'metricblob.proto')
48*b056df69SWilliam A. Kennington IIIproto_h = proto[1]
49*b056df69SWilliam A. Kennington III
50*b056df69SWilliam A. Kennington IIIlib = static_library(
51*b056df69SWilliam A. Kennington III  'metricsblob',
52*b056df69SWilliam A. Kennington III  'util.cpp',
53*b056df69SWilliam A. Kennington III  'handler.cpp',
54*b056df69SWilliam A. Kennington III  'metric.cpp',
55*b056df69SWilliam A. Kennington III  proto,
561285115cSWilliam A. Kennington III  include_directories: headers,
571285115cSWilliam A. Kennington III  implicit_include_directories: false,
581285115cSWilliam A. Kennington III  dependencies: deps)
591285115cSWilliam A. Kennington III
601285115cSWilliam A. Kennington IIIdep = declare_dependency(
61*b056df69SWilliam A. Kennington III  sources: proto_h,
621285115cSWilliam A. Kennington III  dependencies: deps,
631285115cSWilliam A. Kennington III  include_directories: headers,
641285115cSWilliam A. Kennington III  link_with: lib)
651285115cSWilliam A. Kennington III
661285115cSWilliam A. Kennington IIIshared_module(
671285115cSWilliam A. Kennington III  'metricsblob',
681285115cSWilliam A. Kennington III  'main.cpp',
691285115cSWilliam A. Kennington III  dependencies: dep,
701285115cSWilliam A. Kennington III  implicit_include_directories: false,
711285115cSWilliam A. Kennington III  install: true,
721285115cSWilliam A. Kennington III  install_dir: get_option('libdir') / 'ipmid-providers')
731285115cSWilliam A. Kennington III
741285115cSWilliam A. Kennington IIIif not get_option('tests').disabled()
751285115cSWilliam A. Kennington III  subdir('test')
761285115cSWilliam A. Kennington IIIendif
77