Also support PangoWin32 fonts for the font features demo, which will enable running on Windows even if PangoFT support is not enabled or is unused. Check for PangoWin32 as well in configure to see whether the font features demo will be built. If either PangoFT2 or PangoWin32 is found along with HarfBuzz, build the font features demo.
154 lines
3.6 KiB
Meson
154 lines
3.6 KiB
Meson
# These should be in the order you want them to appear in the
|
|
# demo app, which means alphabetized by demo title, not filename
|
|
demos = files([
|
|
'application_demo.c',
|
|
'assistant.c',
|
|
'builder.c',
|
|
'changedisplay.c',
|
|
'clipboard.c',
|
|
'colorsel.c',
|
|
'combobox.c',
|
|
'css_accordion.c',
|
|
'css_basics.c',
|
|
'css_blendmodes.c',
|
|
'css_multiplebgs.c',
|
|
'css_pixbufs.c',
|
|
'css_shadows.c',
|
|
'cursors.c',
|
|
'dialog.c',
|
|
'drawingarea.c',
|
|
'dnd.c',
|
|
'editable_cells.c',
|
|
'entry_buffer.c',
|
|
'entry_completion.c',
|
|
'expander.c',
|
|
'filtermodel.c',
|
|
'fishbowl.c',
|
|
'fixed.c',
|
|
'foreigndrawing.c',
|
|
'gestures.c',
|
|
'glarea.c',
|
|
'headerbar.c',
|
|
'hypertext.c',
|
|
'iconview.c',
|
|
'iconview_edit.c',
|
|
'images.c',
|
|
'infobar.c',
|
|
'links.c',
|
|
'listbox.c',
|
|
'flowbox.c',
|
|
'list_store.c',
|
|
'markup.c',
|
|
'menus.c',
|
|
'modelbutton.c',
|
|
'overlay.c',
|
|
'overlay2.c',
|
|
'paint.c',
|
|
'paintable.c',
|
|
'paintable_animated.c',
|
|
'paintable_mediastream.c',
|
|
'panes.c',
|
|
'password_entry.c',
|
|
'pickers.c',
|
|
'pixbufs.c',
|
|
'popover.c',
|
|
'printing.c',
|
|
'revealer.c',
|
|
'rotated_text.c',
|
|
'scale.c',
|
|
'search_entry.c',
|
|
'search_entry2.c',
|
|
'shortcuts.c',
|
|
'sidebar.c',
|
|
'sizegroup.c',
|
|
'sliding_puzzle.c',
|
|
'spinbutton.c',
|
|
'spinner.c',
|
|
'stack.c',
|
|
'tabs.c',
|
|
'tagged_entry.c',
|
|
'textmask.c',
|
|
'textview.c',
|
|
'textscroll.c',
|
|
'theming_style_classes.c',
|
|
'transparent.c',
|
|
'tree_store.c',
|
|
'video_player.c',
|
|
])
|
|
|
|
gtkdemo_deps = [ libgtk_dep, ]
|
|
|
|
extra_demo_sources = files(['main.c',
|
|
'gtkfishbowl.c',
|
|
'fontplane.c',
|
|
'gtkgears.c',
|
|
'puzzlepiece.c',
|
|
'bluroverlay.c',
|
|
'demotaggedentry.c'])
|
|
|
|
if build_with_harfbuzz
|
|
demos += files('font_features.c')
|
|
extra_demo_sources += files('../../gtk/gtkpangofontutils.c')
|
|
gtkdemo_deps += [ harfbuzz_dep ]
|
|
if pangoft_dep.found()
|
|
gtkdemo_deps += [ pangoft_dep ]
|
|
endif
|
|
if os_win32
|
|
gtkdemo_deps += [ ft2_dep ]
|
|
else
|
|
extra_demo_sources += files(['script-names.c', 'language-names.c'])
|
|
endif
|
|
endif
|
|
|
|
if os_unix
|
|
demos += files('pagesetup.c')
|
|
endif
|
|
|
|
gtkdemo_args = [ '-DGDK_DISABLE_DEPRECATED', '-DGTK_DISABLE_DEPRECATED', ]
|
|
|
|
demos_h = custom_target('gtk4 demo header',
|
|
output: 'demos.h',
|
|
input: demos,
|
|
command: [ find_program('geninclude.py'), '@OUTPUT@', '@INPUT@' ])
|
|
|
|
gtkdemo_resources = gnome.compile_resources('gtkdemo_resources',
|
|
'demo.gresource.xml',
|
|
source_dir: '.')
|
|
|
|
executable('gtk4-demo',
|
|
demos, demos_h, extra_demo_sources, gtkdemo_resources,
|
|
c_args: gtkdemo_args,
|
|
dependencies: gtkdemo_deps,
|
|
include_directories: confinc,
|
|
gui_app: true,
|
|
link_args: extra_demo_ldflags,
|
|
install: true)
|
|
|
|
executable('gtk4-demo-application',
|
|
'application.c', gtkdemo_resources,
|
|
c_args: gtkdemo_args,
|
|
dependencies: gtkdemo_deps,
|
|
include_directories: confinc,
|
|
gui_app: true,
|
|
link_args: extra_demo_ldflags,
|
|
install: true)
|
|
|
|
# icons
|
|
icontheme_dir = join_paths(gtk_datadir, 'icons/hicolor')
|
|
|
|
foreach size: ['scalable', 'symbolic']
|
|
install_subdir('data/' + size,
|
|
install_dir: icontheme_dir
|
|
)
|
|
endforeach
|
|
|
|
# desktop file
|
|
install_data('org.gtk.Demo4.desktop', install_dir: gtk_applicationsdir)
|
|
|
|
# GSettings
|
|
install_data('org.gtk.Demo4.gschema.xml', install_dir: gtk_schemasdir)
|
|
gnome.compile_schemas()
|
|
|
|
# appdata
|
|
install_data('org.gtk.Demo4.appdata.xml', install_dir: gtk_appdatadir)
|