meson: on macOS temporarily update rpath to find libraries of non-installed GIMP.

The DYLD_LIBRARY_PATH trick was working fine on CI, but not on local builds for
Lukas. Apparently there are security measures disabling the environment
variable. Instead let's temporarily add then remove libgimp libraries folders
from rpath.

See: https://gitlab.gnome.org/Infrastructure/gimp-macos-build/-/merge_requests/292#note_2075291
This commit is contained in:
Jehan 2024-04-08 21:29:19 +02:00
parent 7f76285bc8
commit a78c41d2a3
39 changed files with 442 additions and 388 deletions

@ -1 +1 @@
Subproject commit b4a42ca66f7423d3315bd85e64b6fc881d98aee2
Subproject commit fed918868c84c18d97147fb325f19d16f57f1569

View file

@ -28,7 +28,7 @@ foreach test_name : tests
py_test = meson.current_source_dir() / basename + '.py'
test(test_name, run_python_test,
args: [ gimp_exe, py_test ],
args: [ gimp_exe.full_path(), py_test ],
env: gimp_run_env,
suite: ['libgimp', 'python3'],
timeout: 60)
@ -55,9 +55,10 @@ foreach test_name : tests
'@OUTPUT@' ],
build_by_default: true,
install: false)
plugin_executables += [meson.current_build_dir() / 'c-tests' / basename / fs.name(c_test_exe.full_path())]
test(test_name, run_c_test,
args: [ gimp_exe, meson.current_source_dir() / c_test_name, basename ],
args: [ gimp_exe.full_path(), meson.current_source_dir() / c_test_name, basename ],
env: gimp_run_env,
suite: ['libgimp', 'C'],
timeout: 60)

View file

@ -1831,6 +1831,7 @@ subdir('libgimpwidgets')
subdir('libgimp')
# Executables, plugins
plugin_executables = []
subdir('extensions')
subdir('modules')
subdir('plug-ins')
@ -1845,10 +1846,11 @@ gimp_run_env=environment()
if meson.can_run_host_binaries()
if enable_console_bin
gimp_exe=gimpconsole_exe
gimp_exe_depends = gimpconsole_exe
else
gimp_exe=gimpmain_exe
gimp_exe_depends = gimpmain_exe
endif
gimp_run_env.set('GIMP_SELF_IN_BUILD', gimp_exe_depends.full_path())
menu_paths=meson.global_build_root() / 'menus:' + meson.global_source_root() / 'menus'
gimp_run_env.set('GIMP_TESTING_MENUS_PATH', menu_paths)
@ -1883,26 +1885,42 @@ if meson.can_run_host_binaries()
gimp_run_env.prepend('PATH', meson.global_build_root() / 'libgimpthumb')
gimp_run_env.prepend('PATH', meson.global_build_root() / 'libgimpwidgets')
elif platform_osx
gimp_run_env.prepend('DYLD_LIBRARY_PATH', meson.global_build_root() / 'libgimp')
gimp_run_env.prepend('DYLD_LIBRARY_PATH', meson.global_build_root() / 'libgimpbase')
gimp_run_env.prepend('DYLD_LIBRARY_PATH', meson.global_build_root() / 'libgimpcolor')
gimp_run_env.prepend('DYLD_LIBRARY_PATH', meson.global_build_root() / 'libgimpconfig')
gimp_run_env.prepend('DYLD_LIBRARY_PATH', meson.global_build_root() / 'libgimpmath')
gimp_run_env.prepend('DYLD_LIBRARY_PATH', meson.global_build_root() / 'libgimpmodule')
gimp_run_env.prepend('DYLD_LIBRARY_PATH', meson.global_build_root() / 'libgimpthumb')
gimp_run_env.prepend('DYLD_LIBRARY_PATH', meson.global_build_root() / 'libgimpwidgets')
gimp_exe_depends += [gimp_exe_typelib]
gimp_run_env.set('GIMP_GLOBAL_BUILD_ROOT', meson.global_build_root())
gimp_run_env.set('GIMP_GI_DIR', gi.get_variable('libdir'))
gimp_run_env.set('GIMP_TEMP_UPDATE_RPATH', gimp_exe_depends.full_path())
gimp_run_env.prepend('GIMP_TEMP_UPDATE_RPATH', libgimp.full_path())
gimp_run_env.prepend('GIMP_TEMP_UPDATE_RPATH', libgimpbase.full_path())
gimp_run_env.prepend('GIMP_TEMP_UPDATE_RPATH', libgimpcolor.full_path())
gimp_run_env.prepend('GIMP_TEMP_UPDATE_RPATH', libgimpconfig.full_path())
gimp_run_env.prepend('GIMP_TEMP_UPDATE_RPATH', libgimpmath.full_path())
gimp_run_env.prepend('GIMP_TEMP_UPDATE_RPATH', libgimpmodule.full_path())
gimp_run_env.prepend('GIMP_TEMP_UPDATE_RPATH', libgimpthumb.full_path())
gimp_run_env.prepend('GIMP_TEMP_UPDATE_RPATH', libgimpwidgets.full_path())
foreach plugin_exe : plugin_executables
gimp_run_env.prepend('GIMP_TEMP_UPDATE_RPATH', plugin_exe)
endforeach
gimp_run_env.prepend('GIMP_TEMP_UPDATE_RPATH', gi.get_variable('libdir') / 'libgirepository-1.0.dylib')
endif
else
# Cross-builds require an existing native GIMP installed, unless we
# can run target binaries.
gimp_exe = find_program([gimpconsole_exe_name, gimpmain_exe_name],
native: true, required: false)
native_gimp_exe = find_program([gimpconsole_exe_name, gimpmain_exe_name],
native: true, required: false)
if not gimp_exe.found()
if not native_gimp_exe.found()
error('When cross-compiling, the build requires either an exe_wrapper or a native GIMP installed (@0@ or @1@).'.format(gimpconsole_exe_name, gimpmain_exe_name))
endif
gimp_run_env.set('GIMP_SELF_IN_BUILD', native_gimp_exe.full_path())
gimp_exe_depends = []
endif
gimp_exe = find_program('tools'/'in-build-gimp.sh')
# Use a temporary config directory in the top build root for 2 reasons: first
# because we don't want to pollute any existing user config folder; second
# because the default directory may not be writable (we have the case in macOS

View file

@ -1,4 +1,3 @@
common_plugins_list = [
{ 'name': 'align-layers', },
{ 'name': 'animation-optimize', },
@ -220,31 +219,30 @@ foreach plugin : common_plugins_list
endif
plugin_exe = executable(plugin_name,
plugin_sources,
include_directories: [ rootInclude, ],
link_with : [
libgimp,
libgimpbase,
libgimpcolor,
libgimpconfig,
libgimpmath,
libgimpui,
libgimpwidgets,
],
dependencies: [ plugin_deps, math ],
c_args: plugin_cflags,
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_sources,
include_directories: [ rootInclude, ],
link_with : [
libgimp,
libgimpbase,
libgimpcolor,
libgimpconfig,
libgimpmath,
libgimpui,
libgimpwidgets,
],
dependencies: [ plugin_deps, math ],
c_args: plugin_cflags,
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
# Ugly trick to copy executables into subfolders so that we can run GIMP from
# the build directory without installing it.
custom_target('test-' + plugin_name,
input: [ plugin_exe ],
output: [ plugin_name + '.dummy' ],
command: [ python, meson.project_source_root() / '.gitlab/cp-plug-in-subfolder.py',
plugin_exe, meson.current_build_dir() / 'test-plug-ins' / plugin_name,
'@OUTPUT@' ],
build_by_default: true,
)
input: [ plugin_exe ],
output: [ plugin_name + '.dummy' ],
command: [ python, meson.project_source_root() / '.gitlab/cp-plug-in-subfolder.py',
plugin_exe, meson.current_build_dir() / 'test-plug-ins' / plugin_name,
'@OUTPUT@' ],
build_by_default: true)
plugin_executables += [meson.current_build_dir() / 'test-plug-ins' / plugin_name / fs.name(plugin_exe.full_path())]
endforeach

View file

@ -20,9 +20,9 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: libgimpui_dep,
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: libgimpui_dep,
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -24,13 +24,13 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
openmp,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
openmp,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -21,15 +21,15 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
openexr,
lcms,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
openexr,
lcms,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]
endif

View file

@ -19,9 +19,9 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: libgimpui_dep,
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: libgimpui_dep,
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -19,13 +19,13 @@ if cfitsio_dep.found()
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
cfitsio_dep,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
cfitsio_dep,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]
endif

View file

@ -19,9 +19,9 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: libgimpui_dep,
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: libgimpui_dep,
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -21,12 +21,12 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
libpng,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
libpng,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -21,12 +21,12 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
libpng,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
libpng,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -23,14 +23,14 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
libjpeg,
lcms,
gexiv2,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
libjpeg,
lcms,
gexiv2,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -24,15 +24,15 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
c_args: '-DG_LOG_DOMAIN="file-psd"',
dependencies: [
libgimpui_dep,
libjpeg,
math,
zlib,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
c_args: '-DG_LOG_DOMAIN="file-psd"',
dependencies: [
libgimpui_dep,
libjpeg,
math,
zlib,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -32,12 +32,12 @@ foreach plugin_name : file_raw_exes
endif
executable(plugin_name,
plugin_sources,
dependencies: libgimpui_dep,
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: libgimpui_dep,
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]
endforeach
install_data([

View file

@ -19,9 +19,9 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: libgimpui_dep,
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: libgimpui_dep,
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -21,13 +21,13 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
gexiv2,
libtiff,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
gexiv2,
libtiff,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -23,15 +23,15 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
gexiv2,
webp_libs,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
gexiv2,
webp_libs,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]
endif

View file

@ -21,12 +21,12 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -21,12 +21,12 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -42,12 +42,12 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -39,18 +39,18 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
c_args: [
'-DDEFAULTPATH="@0@:@1@"'.format(
'~/' / gimpdir / 'gimpressionist',
prefix / gimpdatadir / 'gimpressionist'
),
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
c_args: [
'-DDEFAULTPATH="@0@:@1@"'.format(
'~/' / gimpdir / 'gimpressionist',
prefix / gimpdatadir / 'gimpressionist'
),
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -20,12 +20,12 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -27,18 +27,18 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
gio,
webkit,
],
link_with: [
help_plugin_lib,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
gio,
webkit,
],
link_with: [
help_plugin_lib,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]
endif

View file

@ -32,16 +32,16 @@ help_plugin_lib = static_library('help_plugin',
install: false,
)
executable(plugin_name,
'help.c',
dependencies: [
libgimpui_dep,
gio,
gdk_pixbuf,
],
link_with: [
help_plugin_lib,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
'help.c',
dependencies: [
libgimpui_dep,
gio,
gdk_pixbuf,
],
link_with: [
help_plugin_lib,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -25,12 +25,12 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -145,12 +145,12 @@ else
endforeach
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -27,12 +27,12 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -27,12 +27,12 @@ if platform_windows
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -27,15 +27,15 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
gexiv2,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
gexiv2,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]
###############################################################################
@ -65,21 +65,21 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
include_directories: [ rootInclude, ],
dependencies: [
gtk3, gegl, gexiv2,
],
link_with: [
libgimp,
libgimpbase,
libgimpcolor,
libgimpconfig,
libgimpmath,
libgimpui,
libgimpwidgets,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
include_directories: [ rootInclude, ],
dependencies: [
gtk3, gegl, gexiv2,
],
link_with: [
libgimp,
libgimpbase,
libgimpcolor,
libgimpconfig,
libgimpmath,
libgimpui,
libgimpwidgets,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -51,12 +51,12 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]

View file

@ -27,11 +27,11 @@ if platform_windows
)
endif
executable(plugin_name,
plugin_sources,
dependencies: libgimpui_dep,
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_exe = executable(plugin_name,
plugin_sources,
dependencies: libgimpui_dep,
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [plugin_exe.full_path()]
endif

View file

@ -39,11 +39,11 @@ if platform_windows
endif
screenshot = executable('screenshot',
plugin_sources,
dependencies: [
libgimpui_dep,
x11, xmu, xext, xfixes,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_sources,
dependencies: [
libgimpui_dep,
x11, xmu, xext, xfixes,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [screenshot.full_path()]

View file

@ -27,18 +27,18 @@ if not meson.is_cross_build()
# GIMP queries scripts with shebangs, which invokes gimp-script-fu-interpreter-3.0.
script_fu_interpreter = executable(executable_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
c_args: [
'-DG_LOG_DOMAIN="scriptfu"',
],
include_directories: [
scriptfuInclude,
],
link_with : libscriptfu,
install: true,
)
plugin_sources,
dependencies: [
libgimpui_dep,
math,
],
c_args: [
'-DG_LOG_DOMAIN="scriptfu"',
],
include_directories: [
scriptfuInclude,
],
link_with : libscriptfu,
install: true)
plugin_executables += [plugin_exe.full_path()]
endif

View file

@ -59,21 +59,21 @@ if not meson.is_cross_build()
# libscriptfu is installed to standard place; no rpath necessary
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_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

View file

@ -29,21 +29,20 @@ if not meson.is_cross_build()
# Note the server rolls its own log, no need for a different G_LOG_DOMAIN
executable(executable_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
winsock,
],
c_args: [
'-DG_LOG_DOMAIN="scriptfu"',
],
include_directories: [
scriptfuInclude,
],
link_with : libscriptfu,
install: true,
install_dir: gimpplugindir / 'plug-ins' / executable_name,
)
plugin_exe = executable(executable_name,
plugin_sources,
dependencies: [
libgimpui_dep,
math,
winsock,
],
c_args: [
'-DG_LOG_DOMAIN="scriptfu"',
],
include_directories: [
scriptfuInclude,
],
link_with : libscriptfu,
install: true,
install_dir: gimpplugindir / 'plug-ins' / executable_name)
endif

View file

@ -31,8 +31,8 @@ plugin_selection_to_path_deps = [
]
selection_to_path = executable(plugin_name,
plugin_sources,
dependencies: plugin_selection_to_path_deps,
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_sources,
dependencies: plugin_selection_to_path_deps,
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [selection_to_path.full_path()]

View file

@ -24,12 +24,12 @@ plugin_sources += windows.compile_resources(
)
twain = executable(plugin_name,
plugin_sources,
dependencies: [
libgimp_dep,
glib,
gtk3,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
)
plugin_sources,
dependencies: [
libgimp_dep,
glib,
gtk3,
],
install: true,
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
plugin_executables += [twain.full_path()]

38
tools/in-build-gimp.sh Executable file
View file

@ -0,0 +1,38 @@
#!/bin/sh
if [ -n "$GIMP_TEMP_UPDATE_RPATH" ]; then
# Earlier code used to set DYLD_LIBRARY_PATH environment variable instead, but
# it didn't work on contributor's builds because of System Integrity
# Protection (SIP), though it did work in the CI.
export IFS=":"
for bin in $GIMP_TEMP_UPDATE_RPATH;
do
install_name_tool -add_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimp $bin
install_name_tool -add_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpbase $bin
install_name_tool -add_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpcolor $bin
install_name_tool -add_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpconfig $bin
install_name_tool -add_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpmath $bin
install_name_tool -add_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpmodule $bin
install_name_tool -add_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpthumb $bin
install_name_tool -add_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpwidgets $bin
done;
unset IFS
fi
cat /dev/stdin | $GIMP_SELF_IN_BUILD "$@"
if [ -n "$GIMP_TEMP_UPDATE_RPATH" ]; then
export IFS=":"
for bin in $GIMP_TEMP_UPDATE_RPATH;
do
install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimp $bin
install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpbase $bin
install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpcolor $bin
install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpconfig $bin
install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpmath $bin
install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpmodule $bin
install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpthumb $bin
install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpwidgets $bin
done;
unset IFS
fi