project('libpldm', ['c','cpp'],
    default_options: [
      'debug=true',
      'optimization=g',
      'warning_level=3',
      'werror=true',
      'cpp_std=c++20',
      'c_std=c17',
      'tests=' + (meson.is_subproject() ? 'disabled' : 'enabled'),
    ],
    version: '0.2.0',
    meson_version: '>=0.63.0',
)

add_project_arguments('-D_DEFAULT_SOURCE',language:['c'])

libpldm_sources = files()
subdir('src')

libpldm_include_dir = ['include', 'src']
libpldm_headers = files()
libpldm_transport_headers = files()

subdir('include/libpldm')

libpldm = library(
  'pldm',
   libpldm_sources,
   implicit_include_directories: false,
   include_directories: libpldm_include_dir,
   version: meson.project_version(),
   install: true
   )

install_headers(
  libpldm_headers,
  subdir:'libpldm'
  )

install_headers(
  libpldm_transport_headers,
  subdir:'libpldm/transport'
  )

libpldm_dep = declare_dependency(
  include_directories: libpldm_include_dir,
  link_with: libpldm)

import('pkgconfig').generate(
  name: 'libpldm',
  description: 'PLDM protocol encode/decode C lib',
  version: meson.project_version(),
  libraries: libpldm)

compiler = meson.get_compiler('c')
conf = configuration_data()
if compiler.has_header('poll.h')
  conf.set('PLDM_HAS_POLL', 1)
endif
configure_file(output: 'config.h',
  configuration: conf
)

if get_option('tests').enabled()
  subdir('tests')

  if get_option('abi-compliance-check').allowed()
    abi_dumper = find_program('abi-dumper',
                              native: true,
                              required: get_option('abi-compliance-check'))
    abi_compliance_checker = find_program('abi-compliance-checker',
                                          native: true,
                                          required: get_option('abi-compliance-check'))
    public_api_dir = meson.project_source_root() / 'include'
    baseline_dump = meson.project_source_root() / 'abi' / 'baseline.dump'
    current_dump = custom_target('abi-dump',
                             input: libpldm,
                             output: 'current.dump',
                             command: [ abi_dumper,
                                        '-public-headers',
                                        public_api_dir,
                                        '@INPUT@',
                                        '-o',
                                        '@OUTPUT@',
                                        '-lver',
                                        meson.project_version()])
    test_abi_compliance = abi_dumper.found() and \
                          abi_compliance_checker.found() and \
                          meson.get_compiler('c').get_id() == 'gcc' and \
                          meson.get_compiler('cpp').get_id() == 'gcc'
    abi_compliance = custom_target('abi-compliance',
                                   input: [baseline_dump, current_dump],
                                   output: 'abi-compliance',
                                   command: [ abi_compliance_checker,
                                              '-l',
                                              meson.project_name(),
                                              '-old',
                                              '@INPUT0@',
                                              '-new',
                                              '@INPUT1@' ],
                                   build_by_default: test_abi_compliance)
  endif
endif

install_subdir('instance-db',
               install_mode: 'r--r--r--',
               install_dir: get_option('datadir') / meson.project_name())
