mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-04 01:43:24 +00:00
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:
parent
7f76285bc8
commit
a78c41d2a3
39 changed files with 442 additions and 388 deletions
|
@ -1 +1 @@
|
||||||
Subproject commit b4a42ca66f7423d3315bd85e64b6fc881d98aee2
|
Subproject commit fed918868c84c18d97147fb325f19d16f57f1569
|
|
@ -28,7 +28,7 @@ foreach test_name : tests
|
||||||
|
|
||||||
py_test = meson.current_source_dir() / basename + '.py'
|
py_test = meson.current_source_dir() / basename + '.py'
|
||||||
test(test_name, run_python_test,
|
test(test_name, run_python_test,
|
||||||
args: [ gimp_exe, py_test ],
|
args: [ gimp_exe.full_path(), py_test ],
|
||||||
env: gimp_run_env,
|
env: gimp_run_env,
|
||||||
suite: ['libgimp', 'python3'],
|
suite: ['libgimp', 'python3'],
|
||||||
timeout: 60)
|
timeout: 60)
|
||||||
|
@ -55,9 +55,10 @@ foreach test_name : tests
|
||||||
'@OUTPUT@' ],
|
'@OUTPUT@' ],
|
||||||
build_by_default: true,
|
build_by_default: true,
|
||||||
install: false)
|
install: false)
|
||||||
|
plugin_executables += [meson.current_build_dir() / 'c-tests' / basename / fs.name(c_test_exe.full_path())]
|
||||||
|
|
||||||
test(test_name, run_c_test,
|
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,
|
env: gimp_run_env,
|
||||||
suite: ['libgimp', 'C'],
|
suite: ['libgimp', 'C'],
|
||||||
timeout: 60)
|
timeout: 60)
|
||||||
|
|
44
meson.build
44
meson.build
|
@ -1831,6 +1831,7 @@ subdir('libgimpwidgets')
|
||||||
subdir('libgimp')
|
subdir('libgimp')
|
||||||
|
|
||||||
# Executables, plugins
|
# Executables, plugins
|
||||||
|
plugin_executables = []
|
||||||
subdir('extensions')
|
subdir('extensions')
|
||||||
subdir('modules')
|
subdir('modules')
|
||||||
subdir('plug-ins')
|
subdir('plug-ins')
|
||||||
|
@ -1845,10 +1846,11 @@ gimp_run_env=environment()
|
||||||
|
|
||||||
if meson.can_run_host_binaries()
|
if meson.can_run_host_binaries()
|
||||||
if enable_console_bin
|
if enable_console_bin
|
||||||
gimp_exe=gimpconsole_exe
|
gimp_exe_depends = gimpconsole_exe
|
||||||
else
|
else
|
||||||
gimp_exe=gimpmain_exe
|
gimp_exe_depends = gimpmain_exe
|
||||||
endif
|
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'
|
menu_paths=meson.global_build_root() / 'menus:' + meson.global_source_root() / 'menus'
|
||||||
gimp_run_env.set('GIMP_TESTING_MENUS_PATH', menu_paths)
|
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() / 'libgimpthumb')
|
||||||
gimp_run_env.prepend('PATH', meson.global_build_root() / 'libgimpwidgets')
|
gimp_run_env.prepend('PATH', meson.global_build_root() / 'libgimpwidgets')
|
||||||
elif platform_osx
|
elif platform_osx
|
||||||
gimp_run_env.prepend('DYLD_LIBRARY_PATH', meson.global_build_root() / 'libgimp')
|
gimp_exe_depends += [gimp_exe_typelib]
|
||||||
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.set('GIMP_GLOBAL_BUILD_ROOT', meson.global_build_root())
|
||||||
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.set('GIMP_GI_DIR', gi.get_variable('libdir'))
|
||||||
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.set('GIMP_TEMP_UPDATE_RPATH', gimp_exe_depends.full_path())
|
||||||
gimp_run_env.prepend('DYLD_LIBRARY_PATH', meson.global_build_root() / 'libgimpwidgets')
|
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
|
endif
|
||||||
else
|
else
|
||||||
# Cross-builds require an existing native GIMP installed, unless we
|
# Cross-builds require an existing native GIMP installed, unless we
|
||||||
# can run target binaries.
|
# can run target binaries.
|
||||||
gimp_exe = find_program([gimpconsole_exe_name, gimpmain_exe_name],
|
native_gimp_exe = find_program([gimpconsole_exe_name, gimpmain_exe_name],
|
||||||
native: true, required: false)
|
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))
|
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
|
endif
|
||||||
|
|
||||||
|
gimp_run_env.set('GIMP_SELF_IN_BUILD', native_gimp_exe.full_path())
|
||||||
|
gimp_exe_depends = []
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
gimp_exe = find_program('tools'/'in-build-gimp.sh')
|
||||||
|
|
||||||
# Use a temporary config directory in the top build root for 2 reasons: first
|
# 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 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
|
# because the default directory may not be writable (we have the case in macOS
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
common_plugins_list = [
|
common_plugins_list = [
|
||||||
{ 'name': 'align-layers', },
|
{ 'name': 'align-layers', },
|
||||||
{ 'name': 'animation-optimize', },
|
{ 'name': 'animation-optimize', },
|
||||||
|
@ -220,31 +219,30 @@ foreach plugin : common_plugins_list
|
||||||
endif
|
endif
|
||||||
|
|
||||||
plugin_exe = executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
include_directories: [ rootInclude, ],
|
include_directories: [ rootInclude, ],
|
||||||
link_with : [
|
link_with : [
|
||||||
libgimp,
|
libgimp,
|
||||||
libgimpbase,
|
libgimpbase,
|
||||||
libgimpcolor,
|
libgimpcolor,
|
||||||
libgimpconfig,
|
libgimpconfig,
|
||||||
libgimpmath,
|
libgimpmath,
|
||||||
libgimpui,
|
libgimpui,
|
||||||
libgimpwidgets,
|
libgimpwidgets,
|
||||||
],
|
],
|
||||||
dependencies: [ plugin_deps, math ],
|
dependencies: [ plugin_deps, math ],
|
||||||
c_args: plugin_cflags,
|
c_args: plugin_cflags,
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
|
||||||
|
|
||||||
# Ugly trick to copy executables into subfolders so that we can run GIMP from
|
# Ugly trick to copy executables into subfolders so that we can run GIMP from
|
||||||
# the build directory without installing it.
|
# the build directory without installing it.
|
||||||
custom_target('test-' + plugin_name,
|
custom_target('test-' + plugin_name,
|
||||||
input: [ plugin_exe ],
|
input: [ plugin_exe ],
|
||||||
output: [ plugin_name + '.dummy' ],
|
output: [ plugin_name + '.dummy' ],
|
||||||
command: [ python, meson.project_source_root() / '.gitlab/cp-plug-in-subfolder.py',
|
command: [ python, meson.project_source_root() / '.gitlab/cp-plug-in-subfolder.py',
|
||||||
plugin_exe, meson.current_build_dir() / 'test-plug-ins' / plugin_name,
|
plugin_exe, meson.current_build_dir() / 'test-plug-ins' / plugin_name,
|
||||||
'@OUTPUT@' ],
|
'@OUTPUT@' ],
|
||||||
build_by_default: true,
|
build_by_default: true)
|
||||||
)
|
plugin_executables += [meson.current_build_dir() / 'test-plug-ins' / plugin_name / fs.name(plugin_exe.full_path())]
|
||||||
endforeach
|
endforeach
|
||||||
|
|
|
@ -20,9 +20,9 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: libgimpui_dep,
|
dependencies: libgimpui_dep,
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -24,13 +24,13 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
math,
|
math,
|
||||||
openmp,
|
openmp,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -21,15 +21,15 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
openexr,
|
openexr,
|
||||||
lcms,
|
lcms,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -19,9 +19,9 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: libgimpui_dep,
|
dependencies: libgimpui_dep,
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -19,13 +19,13 @@ if cfitsio_dep.found()
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
cfitsio_dep,
|
cfitsio_dep,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -19,9 +19,9 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: libgimpui_dep,
|
dependencies: libgimpui_dep,
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -21,12 +21,12 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
libpng,
|
libpng,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -21,12 +21,12 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
libpng,
|
libpng,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -23,14 +23,14 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
libjpeg,
|
libjpeg,
|
||||||
lcms,
|
lcms,
|
||||||
gexiv2,
|
gexiv2,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -24,15 +24,15 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
c_args: '-DG_LOG_DOMAIN="file-psd"',
|
c_args: '-DG_LOG_DOMAIN="file-psd"',
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
libjpeg,
|
libjpeg,
|
||||||
math,
|
math,
|
||||||
zlib,
|
zlib,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -32,12 +32,12 @@ foreach plugin_name : file_raw_exes
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: libgimpui_dep,
|
dependencies: libgimpui_dep,
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
install_data([
|
install_data([
|
||||||
|
|
|
@ -19,9 +19,9 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: libgimpui_dep,
|
dependencies: libgimpui_dep,
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -21,13 +21,13 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
gexiv2,
|
gexiv2,
|
||||||
libtiff,
|
libtiff,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -23,15 +23,15 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
gexiv2,
|
gexiv2,
|
||||||
webp_libs,
|
webp_libs,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -21,12 +21,12 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
math,
|
math,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -21,12 +21,12 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
math,
|
math,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -42,12 +42,12 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
math,
|
math,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -39,18 +39,18 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
math,
|
math,
|
||||||
],
|
],
|
||||||
c_args: [
|
c_args: [
|
||||||
'-DDEFAULTPATH="@0@:@1@"'.format(
|
'-DDEFAULTPATH="@0@:@1@"'.format(
|
||||||
'~/' / gimpdir / 'gimpressionist',
|
'~/' / gimpdir / 'gimpressionist',
|
||||||
prefix / gimpdatadir / 'gimpressionist'
|
prefix / gimpdatadir / 'gimpressionist'
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -20,12 +20,12 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
math,
|
math,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -27,18 +27,18 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
gio,
|
gio,
|
||||||
webkit,
|
webkit,
|
||||||
],
|
],
|
||||||
link_with: [
|
link_with: [
|
||||||
help_plugin_lib,
|
help_plugin_lib,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -32,16 +32,16 @@ help_plugin_lib = static_library('help_plugin',
|
||||||
install: false,
|
install: false,
|
||||||
)
|
)
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
'help.c',
|
'help.c',
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
gio,
|
gio,
|
||||||
gdk_pixbuf,
|
gdk_pixbuf,
|
||||||
],
|
],
|
||||||
link_with: [
|
link_with: [
|
||||||
help_plugin_lib,
|
help_plugin_lib,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -25,12 +25,12 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
math,
|
math,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -145,12 +145,12 @@ else
|
||||||
endforeach
|
endforeach
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
math,
|
math,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -27,12 +27,12 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
math,
|
math,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -27,12 +27,12 @@ if platform_windows
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
math,
|
math,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -27,15 +27,15 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
gexiv2,
|
gexiv2,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
|
@ -65,21 +65,21 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
include_directories: [ rootInclude, ],
|
include_directories: [ rootInclude, ],
|
||||||
dependencies: [
|
dependencies: [
|
||||||
gtk3, gegl, gexiv2,
|
gtk3, gegl, gexiv2,
|
||||||
],
|
],
|
||||||
link_with: [
|
link_with: [
|
||||||
libgimp,
|
libgimp,
|
||||||
libgimpbase,
|
libgimpbase,
|
||||||
libgimpcolor,
|
libgimpcolor,
|
||||||
libgimpconfig,
|
libgimpconfig,
|
||||||
libgimpmath,
|
libgimpmath,
|
||||||
libgimpui,
|
libgimpui,
|
||||||
libgimpwidgets,
|
libgimpwidgets,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -51,12 +51,12 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
math,
|
math,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
|
@ -27,11 +27,11 @@ if platform_windows
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(plugin_name,
|
plugin_exe = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: libgimpui_dep,
|
dependencies: libgimpui_dep,
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -39,11 +39,11 @@ if platform_windows
|
||||||
endif
|
endif
|
||||||
|
|
||||||
screenshot = executable('screenshot',
|
screenshot = executable('screenshot',
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
x11, xmu, xext, xfixes,
|
x11, xmu, xext, xfixes,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [screenshot.full_path()]
|
||||||
|
|
|
@ -27,18 +27,18 @@ if not meson.is_cross_build()
|
||||||
# GIMP queries scripts with shebangs, which invokes gimp-script-fu-interpreter-3.0.
|
# GIMP queries scripts with shebangs, which invokes gimp-script-fu-interpreter-3.0.
|
||||||
|
|
||||||
script_fu_interpreter = executable(executable_name,
|
script_fu_interpreter = executable(executable_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
math,
|
math,
|
||||||
],
|
],
|
||||||
c_args: [
|
c_args: [
|
||||||
'-DG_LOG_DOMAIN="scriptfu"',
|
'-DG_LOG_DOMAIN="scriptfu"',
|
||||||
],
|
],
|
||||||
include_directories: [
|
include_directories: [
|
||||||
scriptfuInclude,
|
scriptfuInclude,
|
||||||
],
|
],
|
||||||
link_with : libscriptfu,
|
link_with : libscriptfu,
|
||||||
install: true,
|
install: true)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -59,21 +59,21 @@ if not meson.is_cross_build()
|
||||||
|
|
||||||
# libscriptfu is installed to standard place; no rpath necessary
|
# libscriptfu is installed to standard place; no rpath necessary
|
||||||
|
|
||||||
executable(executable_name,
|
plugin_exe = executable(executable_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
math,
|
math,
|
||||||
gi,
|
gi,
|
||||||
],
|
],
|
||||||
c_args: [
|
c_args: [
|
||||||
'-DG_LOG_DOMAIN="scriptfu"',
|
'-DG_LOG_DOMAIN="scriptfu"',
|
||||||
],
|
],
|
||||||
include_directories: [
|
include_directories: [
|
||||||
libscriptfuInclude,
|
libscriptfuInclude,
|
||||||
],
|
],
|
||||||
link_with : [libscriptfuconsole, libscriptfu ],
|
link_with : [libscriptfuconsole, libscriptfu ],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / executable_name,
|
install_dir: gimpplugindir / 'plug-ins' / executable_name)
|
||||||
)
|
plugin_executables += [plugin_exe.full_path()]
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -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
|
# Note the server rolls its own log, no need for a different G_LOG_DOMAIN
|
||||||
|
|
||||||
executable(executable_name,
|
plugin_exe = executable(executable_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimpui_dep,
|
libgimpui_dep,
|
||||||
math,
|
math,
|
||||||
winsock,
|
winsock,
|
||||||
],
|
],
|
||||||
c_args: [
|
c_args: [
|
||||||
'-DG_LOG_DOMAIN="scriptfu"',
|
'-DG_LOG_DOMAIN="scriptfu"',
|
||||||
],
|
],
|
||||||
include_directories: [
|
include_directories: [
|
||||||
scriptfuInclude,
|
scriptfuInclude,
|
||||||
],
|
],
|
||||||
link_with : libscriptfu,
|
link_with : libscriptfu,
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / executable_name,
|
install_dir: gimpplugindir / 'plug-ins' / executable_name)
|
||||||
)
|
endif
|
||||||
endif
|
|
||||||
|
|
|
@ -31,8 +31,8 @@ plugin_selection_to_path_deps = [
|
||||||
]
|
]
|
||||||
|
|
||||||
selection_to_path = executable(plugin_name,
|
selection_to_path = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: plugin_selection_to_path_deps,
|
dependencies: plugin_selection_to_path_deps,
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [selection_to_path.full_path()]
|
||||||
|
|
|
@ -24,12 +24,12 @@ plugin_sources += windows.compile_resources(
|
||||||
)
|
)
|
||||||
|
|
||||||
twain = executable(plugin_name,
|
twain = executable(plugin_name,
|
||||||
plugin_sources,
|
plugin_sources,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libgimp_dep,
|
libgimp_dep,
|
||||||
glib,
|
glib,
|
||||||
gtk3,
|
gtk3,
|
||||||
],
|
],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: gimpplugindir / 'plug-ins' / plugin_name,
|
install_dir: gimpplugindir / 'plug-ins' / plugin_name)
|
||||||
)
|
plugin_executables += [twain.full_path()]
|
||||||
|
|
38
tools/in-build-gimp.sh
Executable file
38
tools/in-build-gimp.sh
Executable 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
|
Loading…
Add table
Add a link
Reference in a new issue