summaryrefslogtreecommitdiff
path: root/clients/common/meson.build
blob: 260df35b68c9cd604dcb991770b56ee63a1afaf6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# SPDX-License-Identifier: LGPL-2.1-or-later

common_inc = include_directories('.')

libnmc_base = static_library(
  'nmc-base',
  sources: files(
    'nm-client-utils.c',
    'nm-secret-agent-simple.c',
    'nm-vpn-helpers.c',
    'nm-polkit-listener.c',
  ),
  dependencies: [
    libnm_dep,
    libnm_nm_default_dep,
  ],
  c_args: [
    '-DG_LOG_DOMAIN="libnmc"',
  ],
)

libnmc_base_dep = declare_dependency(
  include_directories: common_inc,
  dependencies: [
    libnm_dep,
    libnm_nm_default_dep,
  ],
  link_with: libnmc_base,
)

if enable_docs
  settings_docs_input_xml = custom_target(
    'settings-docs-input.xml',
    input: [nm_settings_docs_xml_gir, nm_property_infos_xml['nmcli']],
    output: 'settings-docs-input.xml',
    command: [
      python.path(),
      join_paths(meson.source_root(), 'tools', 'generate-docs-nm-settings-docs-merge.py'),
      '@OUTPUT@',
      nm_property_infos_xml['nmcli'],
      nm_settings_docs_xml_gir,
    ],
  )

  settings_docs_source = custom_target(
    'settings-docs.h',
    input: settings_docs_input_xml,
    output: 'settings-docs.h',
    command: [xsltproc, '--output', '@OUTPUT@', join_paths(meson.current_source_dir(), 'settings-docs.xsl'), '@INPUT@'],
  )

  test(
    'check-settings-docs',
    find_program(join_paths(source_root, 'tools', 'check-compare-generated.sh')),
    args: [
      source_root,
      build_root,
      'clients/common/settings-docs.h',
    ],
  )
else
  settings_docs_source = configure_file(
    input: 'settings-docs.h.in',
    output: '@BASENAME@',
    configuration: configuration_data(),
  )
endif

libnmc = static_library(
  'nmc',
  sources: [settings_docs_source] + files(
    'nm-meta-setting-access.c',
    'nm-meta-setting-base-impl.c',
    'nm-meta-setting-desc.c',
  ),
  dependencies: [
    libnm_dep,
    libnm_nm_default_dep,
    libnm_core_aux_extern_dep,
  ],
  c_args: [
    '-DG_LOG_DOMAIN="libnmc"',
  ],
  link_depends: settings_docs_source,
)

libnmc_dep = declare_dependency(
  include_directories: common_inc,
  dependencies: [
    libnm_dep,
    libnm_nm_default_dep,
  ],
  link_with: libnmc,
)

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