157 lines
3.3 KiB
Meson
157 lines
3.3 KiB
Meson
subdir('images')
|
|
|
|
plugin_name = 'imagemap'
|
|
|
|
plugin_sources = [
|
|
'imap_about.c',
|
|
'imap_browse.c',
|
|
'imap_circle.c',
|
|
'imap_cmd_clear.c',
|
|
'imap_cmd_copy_object.c',
|
|
'imap_cmd_copy.c',
|
|
'imap_cmd_create.c',
|
|
'imap_cmd_cut_object.c',
|
|
'imap_cmd_cut.c',
|
|
'imap_cmd_delete_point.c',
|
|
'imap_cmd_delete.c',
|
|
'imap_cmd_edit_object.c',
|
|
'imap_cmd_pika_guides.c',
|
|
'imap_cmd_guides.c',
|
|
'imap_cmd_insert_point.c',
|
|
'imap_cmd_move_down.c',
|
|
'imap_cmd_move_sash.c',
|
|
'imap_cmd_move_selected.c',
|
|
'imap_cmd_move_to_front.c',
|
|
'imap_cmd_move_up.c',
|
|
'imap_cmd_move.c',
|
|
'imap_cmd_object_down.c',
|
|
'imap_cmd_object_move.c',
|
|
'imap_cmd_object_up.c',
|
|
'imap_cmd_paste.c',
|
|
'imap_cmd_select_all.c',
|
|
'imap_cmd_select_next.c',
|
|
'imap_cmd_select_prev.c',
|
|
'imap_cmd_select_region.c',
|
|
'imap_cmd_select.c',
|
|
'imap_cmd_send_to_back.c',
|
|
'imap_cmd_unselect_all.c',
|
|
'imap_cmd_unselect.c',
|
|
'imap_command.c',
|
|
'imap_default_dialog.c',
|
|
'imap_edit_area_info.c',
|
|
'imap_file.c',
|
|
'imap_grid.c',
|
|
'imap_icons.c',
|
|
'imap_main.c',
|
|
'imap_menu_funcs.c',
|
|
'imap_menu.c',
|
|
'imap_misc.c',
|
|
'imap_mru.c',
|
|
'imap_object_popup.c',
|
|
'imap_object.c',
|
|
'imap_polygon.c',
|
|
'imap_preferences.c',
|
|
'imap_preview.c',
|
|
'imap_rectangle.c',
|
|
'imap_selection.c',
|
|
'imap_settings.c',
|
|
'imap_source.c',
|
|
'imap_statusbar.c',
|
|
'imap_string.c',
|
|
'imap_taglist.c',
|
|
'imap_ui_grid.c',
|
|
imagemap_icon_sources,
|
|
]
|
|
|
|
plugin_sources += gnome.compile_resources(
|
|
'imagemap-menus',
|
|
'imagemap-menus.gresource.xml',
|
|
)
|
|
|
|
if platform_windows
|
|
plugin_sources += windows.compile_resources(
|
|
pika_plugins_rc,
|
|
args: [
|
|
'--define', 'ORIGINALFILENAME_STR="@0@"'.format(plugin_name+'.exe'),
|
|
'--define', 'INTERNALNAME_STR="@0@"' .format(plugin_name),
|
|
'--define', 'TOP_SRCDIR="@0@"' .format(meson.project_source_root()),
|
|
],
|
|
include_directories: [
|
|
rootInclude, appInclude,
|
|
],
|
|
)
|
|
endif
|
|
|
|
syntaxes = [
|
|
'cern',
|
|
'csim',
|
|
'ncsa',
|
|
]
|
|
|
|
flex = find_program('flex', required: false)
|
|
bison = find_program('bison', required: false)
|
|
|
|
if flex.found() and bison.found()
|
|
lex_gen = generator(
|
|
flex,
|
|
arguments: [
|
|
'--case-insensitive',
|
|
'@EXTRA_ARGS@',
|
|
'--outfile', '@OUTPUT@',
|
|
'@INPUT@',
|
|
],
|
|
output : '@BASENAME@_lex.c'
|
|
)
|
|
|
|
parse_gen = generator(
|
|
bison,
|
|
arguments: [
|
|
'--yacc',
|
|
'-d',
|
|
'@EXTRA_ARGS@',
|
|
'--output', '@OUTPUT0@',
|
|
'--defines=@OUTPUT1@',
|
|
'@INPUT@'
|
|
],
|
|
output : [
|
|
'@BASENAME@_parse.c',
|
|
'@BASENAME@_parse.h',
|
|
]
|
|
)
|
|
|
|
foreach syntax : syntaxes
|
|
syntax_prefix = syntax + '_'
|
|
imapname = 'imap_' + syntax
|
|
|
|
plugin_sources += lex_gen.process(
|
|
imapname + '.l',
|
|
extra_args: ['--prefix', syntax_prefix]
|
|
)
|
|
plugin_sources += parse_gen.process(
|
|
imapname + '.y',
|
|
extra_args: ['--name-prefix', syntax_prefix]
|
|
)
|
|
endforeach
|
|
else
|
|
foreach syntax : syntaxes
|
|
syntax_prefix = syntax + '_'
|
|
imapname = 'imap_' + syntax
|
|
|
|
plugin_sources += [
|
|
imapname + '_lex.c',
|
|
imapname + '_parse.c',
|
|
imapname + '_parse.h'
|
|
]
|
|
endforeach
|
|
endif
|
|
|
|
executable(plugin_name,
|
|
plugin_sources,
|
|
dependencies: [
|
|
libpikaui_dep,
|
|
math,
|
|
],
|
|
install: true,
|
|
install_dir: pikaplugindir / 'plug-ins' / plugin_name,
|
|
)
|