Blame meson.build

Packit Service fc05fa
project(
Packit Service fc05fa
  'gnome-bluetooth', 'c',
Packit Service fc05fa
  version: '3.34.3',
Packit Service fc05fa
  license: 'GPL2+',
Packit Service fc05fa
  default_options: 'buildtype=debugoptimized',
Packit Service fc05fa
  meson_version: '>= 0.49.0',
Packit Service fc05fa
)
Packit Service fc05fa
Packit Service fc05fa
gnomebt_version = meson.project_version()
Packit Service fc05fa
version_array = gnomebt_version.split('.')
Packit Service fc05fa
gnomebt_major_version = version_array[0].to_int()
Packit Service fc05fa
gnomebt_minor_version = version_array[1].to_int()
Packit Service fc05fa
gnomebt_micro_version = version_array[2].to_int()
Packit Service fc05fa
Packit Service fc05fa
gnomebt_api_version = '1.0'
Packit Service fc05fa
gnomebt_api_name = '@0@-@1@'.format(meson.project_name(), gnomebt_api_version)
Packit Service fc05fa
Packit Service fc05fa
gnomebt_gir_ns = 'GnomeBluetooth'
Packit Service fc05fa
Packit Service fc05fa
gnomebt_gettext_package = meson.project_name() + '2'
Packit Service fc05fa
Packit Service fc05fa
gnomebt_prefix = get_option('prefix')
Packit Service fc05fa
gnomebt_datadir = get_option('datadir')
Packit Service fc05fa
gnomebt_localedir = get_option('localedir')
Packit Service fc05fa
Packit Service fc05fa
gnomebt_pkgdatadir = gnomebt_datadir / meson.project_name()
Packit Service fc05fa
Packit Service fc05fa
# options
Packit Service fc05fa
enable_gtk_doc = get_option('gtk_doc')
Packit Service fc05fa
enable_gir = get_option('introspection')
Packit Service fc05fa
Packit Service fc05fa
# Before making a release, the GNOMEBT_LT_VERSION string should be modified.
Packit Service fc05fa
# The string is of the form C:R:A.
Packit Service fc05fa
# - If interfaces have been changed or added, but binary compatibility has
Packit Service fc05fa
#   been preserved, change to C+1:0:A+1
Packit Service fc05fa
# - If binary compatibility has been broken (eg removed or changed interfaces)
Packit Service fc05fa
#   change to C+1:0:0
Packit Service fc05fa
# - If the interface is the same as the previous version, change to C:R+1:A
Packit Service fc05fa
current = 13
Packit Service fc05fa
revision = 2
Packit Service fc05fa
age = 0
Packit Service fc05fa
Packit Service fc05fa
libversion = '@0@.@1@.@2@'.format(current, age, revision)
Packit Service fc05fa
Packit Service fc05fa
gnome = import('gnome')
Packit Service fc05fa
i18n = import('i18n')
Packit Service fc05fa
pkg = import('pkgconfig')
Packit Service fc05fa
Packit Service fc05fa
po_dir = meson.current_source_dir() / 'po'
Packit Service fc05fa
Packit Service fc05fa
top_inc = include_directories('.')
Packit Service fc05fa
Packit Service fc05fa
cc = meson.get_compiler('c')
Packit Service fc05fa
Packit Service fc05fa
config_h = configuration_data()
Packit Service fc05fa
Packit Service fc05fa
#i18n
Packit Service fc05fa
config_h.set_quoted('GETTEXT_PACKAGE', gnomebt_gettext_package)
Packit Service fc05fa
config_h.set_quoted('LOCALEDIR', gnomebt_prefix / gnomebt_localedir)
Packit Service fc05fa
Packit Service fc05fa
# compiler flags
Packit Service fc05fa
common_flags = [
Packit Service fc05fa
  '-DHAVE_CONFIG_H',
Packit Service fc05fa
  '-DBONOBO_DISABLE_DEPRECATED',
Packit Service fc05fa
  '-DBONOBO_DISABLE_SINGLE_INCLUDES',
Packit Service fc05fa
  '-DBONOBO_UI_DISABLE_DEPRECATED',
Packit Service fc05fa
  '-DBONOBO_UI_DISABLE_SINGLE_INCLUDES',
Packit Service fc05fa
  '-DGCONF_DISABLE_DEPRECATED',
Packit Service fc05fa
  '-DGCONF_DISABLE_SINGLE_INCLUDES',
Packit Service fc05fa
  '-DGNOME_DISABLE_DEPRECATED',
Packit Service fc05fa
  '-DGNOME_DISABLE_SINGLE_INCLUDES',
Packit Service fc05fa
  '-DGNOME_VFS_DISABLE_DEPRECATED',
Packit Service fc05fa
  '-DGNOME_VFS_DISABLE_SINGLE_INCLUDES',
Packit Service fc05fa
  '-DLIBGLADE_DISABLE_DEPRECATED',
Packit Service fc05fa
  '-DLIBGLADE_DISABLE_SINGLE_INCLUDES',
Packit Service fc05fa
  '-DLIBSOUP_DISABLE_DEPRECATED',
Packit Service fc05fa
  '-DLIBSOUP_DISABLE_SINGLE_INCLUDES',
Packit Service fc05fa
  '-DWNCK_DISABLE_DEPRECATED',
Packit Service fc05fa
  '-DWNCK_DISABLE_SINGLE_INCLUDES',
Packit Service fc05fa
]
Packit Service fc05fa
Packit Service fc05fa
compiler_flags = []
Packit Service fc05fa
if get_option('buildtype').contains('debug')
Packit Service fc05fa
  compiler_flags += cc.get_supported_arguments([
Packit Service fc05fa
    '-Werror=format=2',
Packit Service fc05fa
    '-Werror=implicit-function-declaration',
Packit Service fc05fa
    '-Werror=init-self',
Packit Service fc05fa
    '-Werror=missing-prototypes',
Packit Service fc05fa
    '-Werror=missing-include-dirs',
Packit Service fc05fa
    '-Werror=pointer-arith',
Packit Service fc05fa
    '-Werror=return-type',
Packit Service fc05fa
    '-Wnested-externs',
Packit Service fc05fa
    '-Wstrict-prototypes',
Packit Service fc05fa
  ])
Packit Service fc05fa
endif
Packit Service fc05fa
Packit Service fc05fa
add_project_arguments(common_flags + compiler_flags, language: 'c')
Packit Service fc05fa
Packit Service fc05fa
gio_dep = dependency('gio-2.0')
Packit Service fc05fa
gio_unix_dep = dependency('gio-unix-2.0')
Packit Service fc05fa
gtk_dep = dependency('gtk+-3.0', version: '>= 3.12.0')
Packit Service fc05fa
libcanberra_gtk_dep = dependency('libcanberra-gtk3')
Packit Service fc05fa
libnotify_dep = dependency('libnotify', version: '>= 0.7.0')
Packit Service fc05fa
libudev_dep = dependency('libudev')
Packit Service fc05fa
Packit Service fc05fa
m_dep = cc.find_library('m')
Packit Service fc05fa
Packit Service fc05fa
subdir('icons')
Packit Service fc05fa
subdir('lib')
Packit Service fc05fa
subdir('sendto')
Packit Service fc05fa
Packit Service fc05fa
if enable_gtk_doc
Packit Service fc05fa
  subdir('docs/reference/libgnome-bluetooth')
Packit Service fc05fa
endif
Packit Service fc05fa
Packit Service fc05fa
subdir('po')
Packit Service fc05fa
Packit Service fc05fa
configure_file(
Packit Service fc05fa
  output: 'config.h',
Packit Service fc05fa
  configuration: config_h,
Packit Service fc05fa
)
Packit Service fc05fa
Packit Service fc05fa
meson.add_install_script(
Packit Service fc05fa
  'meson_post_install.py',
Packit Service fc05fa
  get_option('icon_update') ? 'icon_update' : '',
Packit Service fc05fa
  gnomebt_datadir,
Packit Service fc05fa
)
Packit Service fc05fa
Packit Service fc05fa
output = '\nConfigure summary:\n\n'
Packit Service fc05fa
output += '        Compiler....................:  ' + cc.get_id() + '\n\n'
Packit Service fc05fa
output += '        Compiler Flags..............:  ' + ' '.join(compiler_flags) + '\n'
Packit Service fc05fa
output += '        Prefix......................:  ' + gnomebt_prefix + '\n'
Packit Service fc05fa
output += '        Documentation...............:  ' + enable_gtk_doc.to_string() + '\n'
Packit Service fc05fa
output += '        GObject-Introspection.......:  ' + enable_gir.to_string()
Packit Service fc05fa
message(output)
Packit Service fc05fa
Packit Service fc05fa
meson.add_dist_script(
Packit Service fc05fa
  find_program('check-news.sh').path(),
Packit Service fc05fa
  '@0@'.format(meson.project_version()),
Packit Service fc05fa
  'NEWS',
Packit Service fc05fa
)