Codebase list xapp / debian/2.0.6-1 libxapp / meson.build
debian/2.0.6-1

Tree @debian/2.0.6-1 (Download .tar.gz)

meson.build @debian/2.0.6-1

20f2d95
9e2566e
dd6989b
 
20f2d95
dd6989b
9e2566e
dd6989b
 
 
9e2566e
 
 
 
dd6989b
 
 
 
 
 
9e2566e
dd6989b
9e2566e
cc8cc82
 
9e2566e
cc8cc82
 
e98737a
7db687e
 
9e2566e
 
 
dd6989b
9e2566e
 
cc8cc82
 
9e2566e
 
cc8cc82
e98737a
7db687e
 
9e2566e
 
1aa59b6
 
 
 
 
 
e98737a
 
 
 
 
 
 
 
7db687e
e98737a
 
 
 
 
 
 
 
 
 
 
 
 
7db687e
 
 
e98737a
 
 
 
7db687e
e98737a
7db687e
 
 
e98737a
cc8cc82
 
 
 
 
 
 
 
9e2566e
dd6989b
9e2566e
 
 
 
e98737a
cc8cc82
9e2566e
 
 
 
 
 
 
 
 
 
 
e98737a
9e2566e
 
 
 
 
7db687e
9e2566e
 
 
 
 
 
 
 
 
 
 
 
0c33cfb
9e2566e
 
 
 
 
 
 
 
 
 
 
 
cc8cc82
dd6989b
 
 
 
 
 
 
 
glib_min_ver = '>=2.44.0'

gio_dep = dependency('gio-2.0', version: glib_min_ver, required: true)
glib_dep = dependency('glib-2.0', version: glib_min_ver, required: true)
gtk3_dep = dependency('gtk+-3.0', version: '>=3.16', required: true)

libdeps = []
libdeps += gio_dep
libdeps += glib_dep
libdeps += gtk3_dep
libdeps += dependency('gdk-pixbuf-2.0', version: '>=2.22.0', required: true)
libdeps += dependency('cairo', required: true)
libdeps += dependency('x11', required: true)

favorite_vfs_sources = [
  'favorite-vfs-file.c',
  'favorite-vfs-file-enumerator.c',
  'favorite-vfs-file-monitor.c'
]

xapp_headers = [
    'xapp-favorites.h',
    'xapp-gtk-window.h',
    'xapp-icon-chooser-button.h',
    'xapp-icon-chooser-dialog.h',
    'xapp-monitor-blanker.h',
    'xapp-preferences-window.h',
    'xapp-stack-sidebar.h',
    'xapp-status-icon.h',
    'xapp-status-icon-monitor.h',
    'xapp-util.h'
]

xapp_sources = [
    'xapp-favorites.c',
    'xapp-glade-catalog.c',
    'xapp-gtk-window.c',
    'xapp-icon-chooser-button.c',
    'xapp-icon-chooser-dialog.c',
    'xapp-monitor-blanker.c',
    'xapp-preferences-window.c',
    'xapp-stack-sidebar.c',
    'xapp-status-icon.c',
    'xapp-status-icon-monitor.c',
    'xapp-util.c'
]

if not app_lib_only
    libdeps += dependency('libgnomekbdui', required: true)
    xapp_headers += 'xapp-kbd-layout-controller.h'
    xapp_sources += 'xapp-kbd-layout-controller.c'
endif

dbus_headers = []

# FIXME: Ugly workaround that simulates the generation of
#        two different targets, so headers can be included
#        explicitly for introspection.
# 
# This can be removed once all platforms use meson >=.46
# and replaced with gnome.gdbus_codegen
xapp_statusicon_interface_sources = custom_target(
    'xapp-statusicon-interface',
    input: 'org.x.StatusIcon.xml',
    output: ['xapp-statusicon-interface.h', 'xapp-statusicon-interface.c'],
    command: [
        codegen,
        'org.x.StatusIcon',
        'xapp-statusicon-interface',
        'StatusIconInterface',
        meson.current_build_dir(),
        '@INPUT@', '@OUTPUT@'
    ]
)

dbus_headers += xapp_statusicon_interface_sources[0]
xapp_sources += xapp_statusicon_interface_sources[1]

# You can't actually access the generated header udring the install_header command below,
# because the command is evaluated prior to the files being generated.  So we need to manually
# install the dbus header file (custom install scripts really *do* get evaluated after build,
# during the install phase.)
codegen = find_program(join_paths(meson.source_root(), 'meson-scripts', 'g-codegen.py'))

meson.add_install_script(join_paths(meson.source_root(), 'meson-scripts', 'install_generated_header.py'),
  'xapp-statusicon-interface.h'
)

xapp_enums = gnome.mkenums('xapp-enums',
    sources : xapp_headers,
    c_template : 'xapp-enums.c.template',
    h_template : 'xapp-enums.h.template',
    identifier_prefix : 'XApp',
    symbol_prefix : 'xapp'
)

libxapp = library('xapp',
    sources  : xapp_headers + xapp_sources + xapp_enums + dbus_headers + favorite_vfs_sources,
    include_directories: [top_inc],
    version: meson.project_version(),
    soversion: '1',
    dependencies: libdeps,
    c_args: ['-Wno-declaration-after-statement', '-DG_LOG_DOMAIN="XApp"'],
    link_args: [ '-Wl,-Bsymbolic', '-Wl,-z,relro', '-Wl,-z,now', '-lm'],
    install: true
)

install_headers(xapp_headers,
    subdir: 'xapp/libxapp'
)

libxapp_dep = declare_dependency(
    link_with: libxapp,
    include_directories: top_inc,
    dependencies: libdeps,
    sources: [ xapp_headers, dbus_headers ]
)

gir = gnome.generate_gir(libxapp,
    namespace: 'XApp',
    nsversion: '1.0',
    sources: xapp_headers + xapp_sources + dbus_headers + xapp_enums,
    identifier_prefix: 'XApp',
    symbol_prefix: 'xapp_',
    includes: ['GObject-2.0', 'Gtk-3.0'],
    install: true
)

pkg.generate(
    libraries: libxapp,
    name: 'xapp',
    subdirs: 'xapp',
    description: 'Utility library',
    version: meson.project_version(),
    requires: ['gtk+-3.0', 'gobject-2.0', 'cairo'],
    requires_private: 'xkbfile',
)

install_data(['xapp-glade-catalog.xml'],
    install_dir : join_paths(get_option('datadir'), 'glade/catalogs')
)

gnome.generate_vapi('xapp',
    packages: ['glib-2.0', 'gio-unix-2.0', 'gtk+-3.0'],
    sources: gir[0],
    metadata_dirs: meson.current_source_dir(),
    install: true
)

gtk3_module = shared_module(
    'xapp-gtk3-module', ['xapp-gtk3-module.c'],
    include_directories: [top_inc],
    dependencies: [gtk3_dep, libxapp_dep],
    install: true,
    install_dir: join_paths(gtk3_dep.get_pkgconfig_variable('libdir'),'gtk-3.0','modules')
)