Issue #8546: Meson options fixes

- Implement `enable-console-bin` meson option
- Fix wrong `enable-default-bin` behavior in docs
- Implement `enable-default-bin` meson option
This commit is contained in:
Hanabishi 2022-08-29 13:41:08 +00:00 committed by Jehan
parent b2729643f8
commit 879f7b48de
7 changed files with 90 additions and 46 deletions

View File

@ -14,5 +14,12 @@ gimp_debug_tool = executable('gimp-debug-tool-' + gimp_app_version,
libgimpbase,
],
install: true,
install_dir: get_option('libexecdir')
install_dir: exec_dir
)
if enable_default_bin and meson.version().version_compare('>=0.61.0')
install_symlink('gimp-debug-tool' + exec_ext,
pointing_to: 'gimp-debug-tool-' + gimp_app_version + exec_ext,
install_dir: exec_dir
)
endif

View File

@ -182,22 +182,24 @@ else
gui_rc_file = []
endif
gimpconsole_exe = executable('gimp-console-'+gimp_app_version,
'main.c',
libapp_sources,
console_rc_file,
c_args: [
'-DG_LOG_DOMAIN="Gimp"',
'-DGIMP_APP_GLUE_COMPILATION',
'-DGIMP_CONSOLE_COMPILATION',
psapi_cflags,
],
dependencies: libapp_dep,
link_with: [
app_links,
],
install: true,
)
if enable_console_bin
gimpconsole_exe = executable('gimp-console-'+gimp_app_version,
'main.c',
libapp_sources,
console_rc_file,
c_args: [
'-DG_LOG_DOMAIN="Gimp"',
'-DGIMP_APP_GLUE_COMPILATION',
'-DGIMP_CONSOLE_COMPILATION',
psapi_cflags,
],
dependencies: libapp_dep,
link_with: [
app_links,
],
install: true,
)
endif
gimpmain_exe = executable('gimp-'+gimp_app_version,
'main.c',
@ -215,3 +217,16 @@ gimpmain_exe = executable('gimp-'+gimp_app_version,
],
install: true,
)
if enable_default_bin and meson.version().version_compare('>=0.61.0')
install_symlink('gimp' + exec_ext,
pointing_to: 'gimp-' + gimp_app_version + exec_ext,
install_dir: exec_dir
)
if enable_console_bin
install_symlink('gimp-console' + exec_ext,
pointing_to: 'gimp-console-' + gimp_app_version + exec_ext,
install_dir: exec_dir
)
endif
endif

View File

@ -16,22 +16,11 @@ man_files = [
output: 'gimptool-' + gimp_app_version + '.1',
configuration: manconf,
),
configure_file(
input : 'gimptool.1.in',
output: 'gimptool.1',
configuration: manconf,
),
configure_file(
input : 'gimprc.5.in',
output: 'gimprc-' + gimp_app_version + '.5',
configuration: manconf,
),
configure_file(
input : 'gimprc.5.in',
output: 'gimprc.5',
configuration: manconf,
),
]
if enable_console_bin
@ -40,24 +29,33 @@ if enable_console_bin
output: 'gimp-console-' + gimp_app_version + '.1',
configuration: manconf,
)
man_files += configure_file(
input : 'gimp.1.in',
output: 'gimp-console.1',
configuration: manconf,
)
endif
if enable_default_bin
man_files += configure_file(
input : 'gimp.1.in',
output: 'gimp-' + gimp_app_version + '.1',
configuration: manconf,
)
man_files += configure_file(
input : 'gimp.1.in',
output: 'gimp.1',
configuration: manconf,
)
endif
man_files += configure_file(
input : 'gimp.1.in',
output: 'gimp-' + gimp_app_version + '.1',
configuration: manconf,
)
install_man(man_files)
if enable_default_bin and meson.version().version_compare('>=0.61.0')
install_symlink('gimptool.1',
pointing_to: 'gimptool-' + gimp_app_version + '.1',
install_dir: get_option('mandir') + '/man1'
)
install_symlink('gimprc.5',
pointing_to: 'gimprc-' + gimp_app_version + '.5',
install_dir: get_option('mandir') + '/man5'
)
if enable_console_bin
install_symlink('gimp-console.1',
pointing_to: 'gimp-console-' + gimp_app_version + '.1',
install_dir: get_option('mandir') + '/man1'
)
endif
install_symlink('gimp.1',
pointing_to: 'gimp-' + gimp_app_version + '.1',
install_dir: get_option('mandir') + '/man1'
)
endif

View File

@ -92,6 +92,8 @@ cc = meson.get_compiler('c')
cxx = meson.get_compiler('cpp')
prefix = get_option('prefix')
buildtype = get_option('buildtype')
exec_dir = prefix + '/' + get_option('bindir')
exec_ext = ''
compiler_args = []
linker_args = []
@ -145,6 +147,7 @@ endif
if platform_windows
windows = import('windows')
exec_ext = '.exe'
# AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
# AM_CONDITIONAL(MS_LIB_AVAILABLE, test "x$ms_librarian" = xyes)
# compiler_args += '-Wl,--large-address-aware'
@ -1160,6 +1163,9 @@ conf.set_quoted('COLOR_PROFILE_DIRECTORY', icc_directory)
enable_default_bin = get_option('enable-default-bin')
enable_console_bin = get_option('enable-console-bin')
if enable_default_bin and meson.version().version_compare('<0.61.0')
error('"enable-default-bin" build option requires meson 0.61 or later. Please disable the option or update meson.')
endif
# Possibly change default gimpdir from $XDG_CONFIG_HOME/GIMP/gimp_user_version
gimpdir = get_option('gimpdir')

View File

@ -2,7 +2,7 @@
option('ansi', type: 'boolean', value: false, description: 'Turn on strict ansi')
option('enable-console-bin',type: 'boolean', value: true, description: 'Build a console-only binary which does not link GTK')
option('win32-debug-console',type:'boolean', value: true, description: 'Open a console when starting the program')
option('enable-default-bin',type: 'boolean', value: true, description: 'Build default Gtk binary')
option('enable-default-bin',type: 'boolean', value: true, description: 'Install default app links pointing to the executables')
option('enable-multiproc', type: 'boolean', value: true, description: 'Support for multiple processors')
option('profiling', type: 'boolean', value: false, description: 'Enable profiling')
option('windows-installer', type: 'boolean', value: false, description: 'Generate files needed for the Windows installer')

View File

@ -40,3 +40,10 @@ executable(executable_name,
link_with : libscriptfu,
install: true,
)
if enable_default_bin and meson.version().version_compare('>=0.61.0')
install_symlink('gimp-script-fu-interpreter' + exec_ext,
pointing_to: executable_name + exec_ext,
install_dir: exec_dir
)
endif

View File

@ -30,6 +30,17 @@ executable('gimp-test-clipboard-' + gimp_app_version,
install: true,
)
if enable_default_bin and meson.version().version_compare('>=0.61.0')
install_symlink('gimptool' + exec_ext,
pointing_to: 'gimptool-' + gimp_app_version + exec_ext,
install_dir: exec_dir
)
install_symlink('gimp-test-clipboard' + exec_ext,
pointing_to: 'gimp-test-clipboard-' + gimp_app_version + exec_ext,
install_dir: exec_dir
)
endif
executable('kernelgen',
'kernelgen.c',
include_directories: rootInclude,