meson.build 1.94 KB
Newer Older
1 2 3 4 5
common_inc = include_directories('.')

nm_polkit_listener = files('nm-polkit-listener.c')

deps = [
6 7
  libnm_dep,
  nm_core_dep
8 9
]

10
cflags = clients_cflags + [
11 12 13 14 15 16 17 18 19 20 21
  '-DG_LOG_DOMAIN="libnmc"',
]

sources = shared_utils + files(
  'nm-client-utils.c',
  'nm-secret-agent-simple.c',
  'nm-vpn-helpers.c'
)

libnmc_base = static_library(
  'nmc-base',
22
  sources: sources,
23
  dependencies: deps,
24
  c_args: cflags
25 26 27
)

libnmc_base_dep = declare_dependency(
28 29
  include_directories: common_inc,
  link_with: libnmc_base
30 31 32 33 34 35 36 37 38
)

sources = shared_meta_setting + files(
  'nm-meta-setting-access.c',
  'nm-meta-setting-desc.c'
)

settings_docs = 'settings-docs.c'

39
if enable_introspection
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
  settings_docs_source = custom_target(
    settings_docs,
    input: nm_property_docs,
    output: settings_docs,
    command: [xsltproc, '--output', '@OUTPUT@', join_paths(meson.current_source_dir(), 'settings-docs.xsl'), '@INPUT@']
  )

  # FIXME: if enabled the check happens even if the settings_docs_source is not set
  '''
  if get_option('check_settings_docs')
    res = run_command(find_program('cmp'), '-s', settings_docs + '.in', settings_docs_source.full_path())
    if res.returncode() != 0
      message('The generated file ' + settings_docs_source.full_path() + ' differs from the source file ' + settings_docs + '.in' + '. You probably should copy the generated file over to the source file. You can skip this test by setting -Dcheck_settings_docs=false')
    endif
  endif
  '''
else
  settings_docs_source = configure_file(
    input: settings_docs + '.in',
    output: settings_docs,
    configuration: configuration_data()
  )
endif
sources += settings_docs_source

libnmc = static_library(
  'nmc',
67
  sources: sources,
68
  dependencies: deps,
69
  c_args: cflags,
70 71 72 73 74
  link_with: libnmc_base,
  link_depends: settings_docs_source
)

libnmc_dep = declare_dependency(
75 76
  include_directories: common_inc,
  link_with: libnmc
77 78 79 80 81
)

if (enable_introspection or enable_nmtui) and enable_tests
  subdir('tests')
endif