2017-11-01 14:27:13 +01:00
|
|
|
|
2022-06-13 16:13:36 -04:00
|
|
|
# Build executable plugins that define several PDB procs.
|
|
|
|
# An executable is not versioned since installed private in /plug-ins
|
2022-05-29 15:48:51 -04:00
|
|
|
|
|
|
|
# Not define include_directories; no higher gimp source references scriptfu
|
|
|
|
|
2022-06-13 16:13:36 -04:00
|
|
|
# Not using c_args: -DSTANDALONE=0','-DUSE_INTERFACE=1','-DUSE_STRLWR=0',
|
|
|
|
# since those are compile time switches for tinyscheme, not present in this dir
|
|
|
|
|
2022-05-29 15:48:51 -04:00
|
|
|
subdir('libscriptfu')
|
2017-11-01 14:27:13 +01:00
|
|
|
subdir('scripts')
|
2022-06-13 16:13:36 -04:00
|
|
|
subdir('server')
|
2022-06-19 16:03:06 -04:00
|
|
|
subdir('interpreter')
|
2023-05-14 16:30:22 -04:00
|
|
|
subdir('console')
|
2024-11-19 06:02:48 -05:00
|
|
|
if not stable or not release or gimp_version.endswith('+git')
|
2024-04-24 07:27:36 -04:00
|
|
|
subdir('test')
|
|
|
|
endif
|
2022-06-13 16:13:36 -04:00
|
|
|
|
2017-11-01 14:27:13 +01:00
|
|
|
|
2022-05-29 15:48:51 -04:00
|
|
|
executable_name = 'script-fu'
|
|
|
|
|
|
|
|
# script-fu.c registers registers many PDB procs in the PDB.
|
2022-06-13 16:13:36 -04:00
|
|
|
# Several source files implement the PDB procedures of type PLUGIN, of similar names.
|
2022-05-29 15:48:51 -04:00
|
|
|
# script-fu.c also implements PDB procedure of type EXTENSION "extension-script-fu"
|
2017-11-01 14:27:13 +01:00
|
|
|
|
|
|
|
plugin_sources = [
|
|
|
|
'script-fu-eval.c',
|
|
|
|
'script-fu-text-console.c',
|
ScriptFu: hide "Refresh Scripts"
It is broken and throws critical, see #10596.
Expedient to hide it instead of fixing it, to not block 3.0rc1.
As discussed in #10652, a user can simply restart GIMP instead.
"Refresh Scripts" is a poor design, a bandaid.
There are plans for better alternatives to install/remove scripts.
The MR for #10652 shows the reason it throws critical,
and could fix it,
but completing the MR requires time we don't have.
Note the MR is not on these files, but on core plugin machinery.
The change is to extract functions to a separate file,
and still build them, but not call them or link them.
They also are not translated while not being called.
Eventually, the extracted files can be deleted (or restored when they work.)
There is other related cruft that needs deletion in scheme-wrapper.c.
2024-04-06 14:33:13 -04:00
|
|
|
'script-fu-refresh.c',
|
2022-05-29 15:48:51 -04:00
|
|
|
|
2017-11-01 14:27:13 +01:00
|
|
|
'script-fu.c',
|
|
|
|
]
|
|
|
|
|
2023-12-17 11:06:22 -03:00
|
|
|
if not meson.is_cross_build()
|
|
|
|
if platform_windows
|
|
|
|
plugin_sources += windows.compile_resources(
|
|
|
|
plugin_rc,
|
|
|
|
args: [
|
|
|
|
'--define', 'ORIGINALFILENAME_STR="@0@"'.format(executable_name+'.exe'),
|
|
|
|
'--define', 'INTERNALNAME_STR="@0@"' .format(executable_name),
|
|
|
|
'--define', 'TOP_SRCDIR="@0@"' .format(meson.project_source_root()),
|
|
|
|
],
|
|
|
|
include_directories: [
|
|
|
|
rootInclude, appInclude,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
# Fallback fix to the problem of non-configured interpreters
|
|
|
|
scriptfu_config = configuration_data()
|
|
|
|
scriptfu_config.set('SCRIPTFU_PATH', '')
|
|
|
|
configure_file(
|
|
|
|
input : 'gimp-script-fu-interpreter.interp.in',
|
|
|
|
output: 'gimp-script-fu-interpreter.interp',
|
|
|
|
configuration: scriptfu_config,
|
|
|
|
install: true,
|
|
|
|
install_dir: gimpplugindir / 'interpreters',
|
|
|
|
)
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Several components use Gtk
|
|
|
|
|
|
|
|
# libscriptfu is installed to standard place; no rpath necessary
|
|
|
|
|
2024-04-08 21:29:19 +02:00
|
|
|
plugin_exe = executable(executable_name,
|
|
|
|
plugin_sources,
|
|
|
|
dependencies: [
|
|
|
|
libgimpui_dep,
|
|
|
|
math,
|
|
|
|
gi,
|
|
|
|
],
|
|
|
|
c_args: [
|
|
|
|
'-DG_LOG_DOMAIN="scriptfu"',
|
|
|
|
],
|
|
|
|
include_directories: [
|
|
|
|
libscriptfuInclude,
|
|
|
|
],
|
|
|
|
link_with : [libscriptfuconsole, libscriptfu ],
|
|
|
|
install: true,
|
|
|
|
install_dir: gimpplugindir / 'plug-ins' / executable_name)
|
|
|
|
plugin_executables += [plugin_exe.full_path()]
|
|
|
|
endif
|