Blame lib/meson.build

Packit Service fc05fa
lib_inc = include_directories('.')
Packit Service fc05fa
Packit Service fc05fa
enum_headers = files('bluetooth-enums.h')
Packit Service fc05fa
Packit Service fc05fa
headers = enum_headers + files(
Packit Service fc05fa
  'bluetooth-client.h',
Packit Service fc05fa
  'bluetooth-chooser.h',
Packit Service fc05fa
  'bluetooth-chooser-button.h',
Packit Service fc05fa
  'bluetooth-chooser-combo.h',
Packit Service fc05fa
  'bluetooth-filter-widget.h',
Packit Service fc05fa
  'bluetooth-settings-widget.h',
Packit Service fc05fa
  'bluetooth-utils.h',
Packit Service fc05fa
)
Packit Service fc05fa
Packit Service fc05fa
install_headers(
Packit Service fc05fa
  headers,
Packit Service fc05fa
  subdir: meson.project_name(),
Packit Service fc05fa
)
Packit Service fc05fa
Packit Service fc05fa
sources = files(
Packit Service fc05fa
  'bluetooth-agent.c',
Packit Service fc05fa
  'bluetooth-chooser.c',
Packit Service fc05fa
  'bluetooth-chooser-button.c',
Packit Service fc05fa
  'bluetooth-chooser-combo.c',
Packit Service fc05fa
  'bluetooth-client.c',
Packit Service fc05fa
  'bluetooth-hdy-column.c',
Packit Service fc05fa
  'bluetooth-filter-widget.c',
Packit Service fc05fa
  'bluetooth-pairing-dialog.c',
Packit Service fc05fa
  'bluetooth-settings-obexpush.c',
Packit Service fc05fa
  'bluetooth-settings-row.c',
Packit Service fc05fa
  'bluetooth-settings-widget.c',
Packit Service fc05fa
  'bluetooth-utils.c',
Packit Service fc05fa
  'pin.c',
Packit Service fc05fa
)
Packit Service fc05fa
Packit Service fc05fa
built_sources = []
Packit Service fc05fa
Packit Service fc05fa
resource_data = files(
Packit Service fc05fa
  'bluetooth-pairing-dialog.ui',
Packit Service fc05fa
  'bluetooth-settings.css',
Packit Service fc05fa
  'bluetooth-settings-row.ui',
Packit Service fc05fa
  'settings.ui',
Packit Service fc05fa
)
Packit Service fc05fa
Packit Service fc05fa
built_sources += gnome.compile_resources(
Packit Service fc05fa
  'bluetooth-settings-resources',
Packit Service fc05fa
  'bluetooth.gresource.xml',
Packit Service fc05fa
  c_name: 'bluetooth_settings',
Packit Service fc05fa
  dependencies: resource_data,
Packit Service fc05fa
  export: true,
Packit Service fc05fa
)
Packit Service fc05fa
Packit Service fc05fa
enum_types = 'gnome-bluetooth-enum-types'
Packit Service fc05fa
Packit Service fc05fa
built_sources += gnome.mkenums(
Packit Service fc05fa
  enum_types,
Packit Service fc05fa
  sources: headers,
Packit Service fc05fa
  c_template: enum_types + '.c.template',
Packit Service fc05fa
  h_template: enum_types + '.h.template',
Packit Service fc05fa
)
Packit Service fc05fa
Packit Service fc05fa
client = 'bluetooth-client'
Packit Service fc05fa
Packit Service fc05fa
built_sources += gnome.gdbus_codegen(
Packit Service fc05fa
  client + '-glue',
Packit Service fc05fa
  client + '.xml',
Packit Service fc05fa
  interface_prefix: 'org.bluez',
Packit Service fc05fa
)
Packit Service fc05fa
Packit Service fc05fa
deps = [
Packit Service fc05fa
  gio_dep,
Packit Service fc05fa
  gtk_dep,
Packit Service fc05fa
]
Packit Service fc05fa
Packit Service fc05fa
private_deps = [
Packit Service fc05fa
  gio_unix_dep,
Packit Service fc05fa
  libcanberra_gtk_dep,
Packit Service fc05fa
  libnotify_dep,
Packit Service fc05fa
  libudev_dep,
Packit Service fc05fa
]
Packit Service fc05fa
Packit Service fc05fa
cflags = [
Packit Service fc05fa
  '-DPKGDATADIR="@0@"'.format(gnomebt_prefix / gnomebt_pkgdatadir),
Packit Service fc05fa
  '-DG_LOG_DOMAIN="Bluetooth"',
Packit Service fc05fa
]
Packit Service fc05fa
Packit Service fc05fa
symbol_map = meson.current_source_dir() / (meson.project_name() + '.map')
Packit Service fc05fa
ldflags = cc.get_supported_link_arguments('-Wl,--version-script,' + symbol_map)
Packit Service fc05fa
Packit Service fc05fa
libgnome_bluetooth = shared_library(
Packit Service fc05fa
  meson.project_name(),
Packit Service fc05fa
  sources: sources + built_sources,
Packit Service fc05fa
  version: libversion,
Packit Service fc05fa
  include_directories: top_inc,
Packit Service fc05fa
  dependencies: deps + private_deps + [m_dep],
Packit Service fc05fa
  c_args: cflags,
Packit Service fc05fa
  link_args: ldflags,
Packit Service fc05fa
  link_depends: symbol_map,
Packit Service fc05fa
  install: true,
Packit Service fc05fa
)
Packit Service fc05fa
Packit Service fc05fa
libgnome_bluetooth_dep = declare_dependency(
Packit Service fc05fa
  link_with: libgnome_bluetooth,
Packit Service fc05fa
  include_directories: lib_inc,
Packit Service fc05fa
  dependencies: deps,
Packit Service fc05fa
)
Packit Service fc05fa
Packit Service fc05fa
pkg.generate(
Packit Service fc05fa
  libraries: libgnome_bluetooth,
Packit Service fc05fa
  version: gnomebt_version,
Packit Service fc05fa
  name: gnomebt_api_name,
Packit Service fc05fa
  description: 'Widgets for Bluetooth device selection',
Packit Service fc05fa
  filebase: gnomebt_api_name,
Packit Service fc05fa
  subdirs: meson.project_name(),
Packit Service fc05fa
  requires: deps,
Packit Service fc05fa
  variables: 'exec_prefix=${prefix}',
Packit Service fc05fa
)
Packit Service fc05fa
Packit Service fc05fa
if enable_gir
Packit Service fc05fa
  gir_sources = sources + headers
Packit Service fc05fa
Packit Service fc05fa
  gir_incs = [
Packit Service fc05fa
    'GModule-2.0',
Packit Service fc05fa
    'GObject-2.0',
Packit Service fc05fa
    'Gtk-3.0',
Packit Service fc05fa
  ]
Packit Service fc05fa
Packit Service fc05fa
  gnome.generate_gir(
Packit Service fc05fa
    libgnome_bluetooth,
Packit Service fc05fa
    sources: gir_sources,
Packit Service fc05fa
    nsversion: gnomebt_api_version,
Packit Service fc05fa
    namespace: gnomebt_gir_ns,
Packit Service fc05fa
    symbol_prefix: 'bluetooth',
Packit Service fc05fa
    identifier_prefix: 'Bluetooth',
Packit Service fc05fa
    export_packages: gnomebt_api_name,
Packit Service fc05fa
    includes: gir_incs,
Packit Service fc05fa
    install: true,
Packit Service fc05fa
  )
Packit Service fc05fa
endif
Packit Service fc05fa
Packit Service fc05fa
test_names = [
Packit Service fc05fa
  'test-agent',
Packit Service fc05fa
  'test-class',
Packit Service fc05fa
  'test-client',
Packit Service fc05fa
  'test-deviceselection',
Packit Service fc05fa
  'test-pairing-dialog',
Packit Service fc05fa
  'test-pin',
Packit Service fc05fa
  'test-settings',
Packit Service fc05fa
]
Packit Service fc05fa
Packit Service fc05fa
foreach name: test_names
Packit Service fc05fa
  executable(
Packit Service fc05fa
    name,
Packit Service fc05fa
    [name + '.c'] + built_sources,
Packit Service fc05fa
    include_directories: top_inc,
Packit Service fc05fa
    dependencies: deps + private_deps,
Packit Service fc05fa
    c_args: cflags,
Packit Service fc05fa
    link_with: libgnome_bluetooth,
Packit Service fc05fa
  )
Packit Service fc05fa
endforeach
Packit Service fc05fa
Packit Service fc05fa
database = 'pin-code-database.xml'
Packit Service fc05fa
Packit Service fc05fa
install_data(
Packit Service fc05fa
  database,
Packit Service fc05fa
  install_dir: gnomebt_pkgdatadir,
Packit Service fc05fa
)
Packit Service fc05fa
Packit Service fc05fa
custom_target(
Packit Service fc05fa
  database,
Packit Service fc05fa
  input: database,
Packit Service fc05fa
  output: database + '.valid',
Packit Service fc05fa
  command: [find_program('xmllint'), '--output', '@OUTPUT@', '--valid', '@INPUT'],
Packit Service fc05fa
)