diff --git a/build/windows/installer/3_dist-gimp-inno.ps1 b/build/windows/installer/3_dist-gimp-inno.ps1 index b932f9baae..eee28f8ad4 100644 --- a/build/windows/installer/3_dist-gimp-inno.ps1 +++ b/build/windows/installer/3_dist-gimp-inno.ps1 @@ -97,6 +97,13 @@ ForEach ($line in $(Select-String 'define' $CONFIG_PATH -AllMatches)) { Invoke-Expression $($line -replace '^.*#' -replace 'define ','$' -replace ' ','=') } +#Meson don't support C++ style comments. See: https://github.com/mesonbuild/meson/issues/14260 +$CLEANCONFIG_PATH ="$(Split-Path -Parent $CONFIG_PATH)\config_clean.h" +if (Test-Path $CLEANCONFIG_PATH) + { + Remove-Item $CLEANCONFIG_PATH -Force + } +(Get-Content $CONFIG_PATH -Raw) -replace '/\*[\s\S]*?\*/', '' | Set-Content $CLEANCONFIG_PATH ## Get CUSTOM_GIMP_VERSION (GIMP version as we display for users in installer) $CUSTOM_GIMP_VERSION = $GIMP_VERSION diff --git a/build/windows/installer/base_gimp3264.iss b/build/windows/installer/base_gimp3264.iss index cf4a124f96..5f5584cc11 100644 --- a/build/windows/installer/base_gimp3264.iss +++ b/build/windows/installer/base_gimp3264.iss @@ -82,27 +82,27 @@ ;2 GLOBAL VARIABLES SET BY PARAMS ;Meson don't support C++ style comments. See: https://github.com/mesonbuild/meson/issues/14260 -#include BUILD_DIR + "\build\windows\installer\config_clean.h" +#include BUILD_DIR + "\config_clean.h" ;Main GIMP versions: ;Get GIMP_MUTEX_VERSION (used for internal versioning control) -#if Defined(GIMP_UNSTABLE) && GIMP_UNSTABLE != "" +#if Defined(GIMP_UNSTABLE) #define GIMP_MUTEX_VERSION GIMP_APP_VERSION #else #define GIMP_MUTEX_VERSION=Copy(GIMP_APP_VERSION,1,Pos(".",GIMP_APP_VERSION)-1) #endif ;Get FULL_GIMP_VERSION (used by ITs) #define ORIGINAL_GIMP_VERSION GIMP_VERSION -#if Defined(GIMP_RC_VERSION) && GIMP_RC_VERSION != "" +#if Defined(GIMP_RC_VERSION) #define GIMP_VERSION=Copy(GIMP_VERSION,1,Pos("-",GIMP_VERSION)-1) #endif -#if !Defined(REVISION) || REVISION=="0" || REVISION=="" +#if !Defined(REVISION) || REVISION=="0" #define FULL_GIMP_VERSION GIMP_VERSION + "." + "0" #else #define FULL_GIMP_VERSION GIMP_VERSION + "." + REVISION #endif ;Get CUSTOM_GIMP_VERSION (that the users see) -#if !Defined(REVISION) || REVISION=="0" || REVISION=="" +#if !Defined(REVISION) || REVISION=="0" #define CUSTOM_GIMP_VERSION ORIGINAL_GIMP_VERSION #else #define CUSTOM_GIMP_VERSION ORIGINAL_GIMP_VERSION + "-" + REVISION @@ -157,7 +157,7 @@ AppPublisher=The GIMP Team AppPublisherURL=https://www.gimp.org/ ;ControlPanel 'HelpLink' AppSupportURL=https://www.gimp.org/docs/ -#if Defined(GIMP_UNSTABLE) && GIMP_UNSTABLE != "" +#if Defined(GIMP_UNSTABLE) ;ControlPanel 'URLUpdateInfo' AppUpdatesURL=https://www.gimp.org/downloads/devel/ #else @@ -417,7 +417,7 @@ Type: files; Name: "{autodesktop}\{reg:HKA\SOFTWARE\Microsoft\Windows\CurrentVer Type: filesandordirs; Name: "{app}\lib\babl-0.1" Type: filesandordirs; Name: "{app}\lib\gegl-0.4" ;This was bunbled in 3.0 RC1 but not needed since the "Debug" menu is hidden in stable releases -#if (!Defined(GIMP_UNSTABLE) || GIMP_UNSTABLE=="") && (Defined(GIMP_RELEASE) && GIMP_RELEASE != "") +#if !Defined(GIMP_UNSTABLE) && Defined(GIMP_RELEASE) Type: files; Name: "{app}\bin\dot.exe" #endif ;No need to all these python binaries shipped in 3.0 RC1 @@ -678,7 +678,7 @@ begin end; function InitializeSetup(): Boolean; -#if (Defined(GIMP_UNSTABLE) && GIMP_UNSTABLE != "") || (Defined(GIMP_RC_VERSION) && GIMP_RC_VERSION != "") || (!Defined(GIMP_RELEASE) || GIMP_RELEASE=="") || Defined(DEVEL_WARNING) +#if Defined(GIMP_UNSTABLE) || Defined(GIMP_RC_VERSION) || !Defined(GIMP_RELEASE)|| Defined(DEVEL_WARNING) var Message,Buttons: TArrayOfString; #endif begin @@ -697,7 +697,7 @@ begin exit; //Unstable version warning -#if (Defined(GIMP_UNSTABLE) && GIMP_UNSTABLE != "") || (Defined(GIMP_RC_VERSION) && GIMP_RC_VERSION != "") || (!Defined(GIMP_RELEASE) || GIMP_RELEASE=="") || Defined(DEVEL_WARNING) +#if Defined(GIMP_UNSTABLE) || Defined(GIMP_RC_VERSION) || !Defined(GIMP_RELEASE) || Defined(DEVEL_WARNING) Explode(Message, CustomMessage('DevelopmentWarning'), #13#10); SetArrayLength(Buttons,2); Buttons[0] := CustomMessage('DevelopmentButtonContinue'); @@ -1541,7 +1541,7 @@ end; //7.2 INSTALL: show GIMP text (aka billboard) above progress bar -#if Defined(GIMP_UNSTABLE) && GIMP_UNSTABLE != "" +#if Defined(GIMP_UNSTABLE) const GIMP_URL = 'https://gimp.org/downloads/devel/'; #else @@ -1660,7 +1660,7 @@ begin InterpFile := ExpandConstant('{app}\lib\gimp\{#GIMP_PKGCONFIG_VERSION}\interpreters\pygimp.interp'); DebugMsg('PrepareInterp','Writing interpreter file for gimp-python: ' + InterpFile); -#if (Defined(GIMP_UNSTABLE) && GIMP_UNSTABLE != "") || (!Defined(GIMP_RELEASE) || GIMP_RELEASE=="") +#if Defined(GIMP_UNSTABLE) || !Defined(GIMP_RELEASE) //python.exe is prefered in unstable versions because of error output #define PYTHON="python.exe" #else diff --git a/build/windows/installer/config_clean.h.in b/build/windows/installer/config_clean.h.in deleted file mode 100644 index 2b8ff8332c..0000000000 --- a/build/windows/installer/config_clean.h.in +++ /dev/null @@ -1,15 +0,0 @@ -// This file shouldn't even exist, but Meson unfortunately do -// not support C++ style comments. See: https://github.com/mesonbuild/meson/issues/14260 - -#define GIMP_APP_VERSION "@GIMP_APP_VERSION@" - -#define GIMP_VERSION "@GIMP_VERSION@" - -#define GIMP_PKGCONFIG_VERSION "@GIMP_PKGCONFIG_VERSION@" - - -#define GIMP_RELEASE "@GIMP_RELEASE@" - -#define GIMP_UNSTABLE "@GIMP_UNSTABLE@" - -#define GIMP_RC_VERSION "@GIMP_RC_VERSION@" diff --git a/build/windows/installer/meson.build b/build/windows/installer/meson.build deleted file mode 100644 index f04f0fc04c..0000000000 --- a/build/windows/installer/meson.build +++ /dev/null @@ -1,24 +0,0 @@ -## This file shouldn't even exist, but Meson unfortunately do -## not support C++ style comments. See: https://github.com/mesonbuild/meson/issues/14260 - -installer_conf = configuration_data() -installer_conf.set('GIMP_APP_VERSION', gimp_app_version) -installer_conf.set('GIMP_VERSION', gimp_version) -installer_conf.set('GIMP_PKGCONFIG_VERSION', gimp_api_version) - -installer_conf.set('GIMP_RELEASE', release ? 1 : '') -if gimp_unstable != false - installer_conf.set('GIMP_UNSTABLE', gimp_unstable) -endif -if gimp_rc_version != false - installer_conf.set('GIMP_RC_VERSION', gimp_rc_version) -endif - -configure_file( - input : 'config_clean.h.in', - output: 'config_clean.h', - configuration: installer_conf -) - - -subdir('lang') diff --git a/meson.build b/meson.build index 7780a5869f..9e2b03d0f1 100644 --- a/meson.build +++ b/meson.build @@ -89,25 +89,19 @@ conf.set_quoted('GIMP_VERSION', gimp_version) # GIMP_UNSTABLE tells if we are on an unstable or stable development branch. stable = (gimp_app_version_minor % 2 == 0) -gimp_unstable = stable ? false : 1 -if gimp_unstable != false - conf.set('GIMP_UNSTABLE', gimp_unstable) -endif +conf.set('GIMP_UNSTABLE', stable ? false : 1) # GIMP_RELEASE tells if this is a release or in-between release (git) code. release = (gimp_app_version_micro % 2 == 0) conf.set('GIMP_RELEASE', release ? 1 : false) # GIMP_RC_VERSION can only be set on release candidates. -gimp_rc_version = release and gimp_app_version_rc > 0 ? gimp_app_version_rc : false -if gimp_rc_version != false - conf.set('GIMP_RC_VERSION', gimp_rc_version) -endif +conf.set('GIMP_RC_VERSION', release and gimp_app_version_rc > 0 ? gimp_app_version_rc : false) # GIMP_IS_GIT can only be set during development of a RC. conf.set('GIMP_IS_RC_GIT', gimp_rc_git ? 1 : false) # Mutex version -if gimp_unstable != false +if not stable conf.set_quoted('GIMP_MUTEX_VERSION', gimp_app_version) else conf.set_quoted('GIMP_MUTEX_VERSION', gimp_app_version_major.to_string()) @@ -2075,7 +2069,7 @@ subdir('devel-docs') # Inno Windows installer if get_option('windows-installer') subdir('po-windows-installer') - subdir('build/windows/installer') + subdir('build/windows/installer/lang') endif pkgconfig.generate(libgimp, diff --git a/plug-ins/python/meson.build b/plug-ins/python/meson.build index 02897d999b..04dc3dcb45 100644 --- a/plug-ins/python/meson.build +++ b/plug-ins/python/meson.build @@ -41,7 +41,7 @@ endforeach # Fallback fix to the problem of non-configured interpreters (needed by MSIX) if platform_windows and not meson.is_cross_build() and python.found() python_config = configuration_data() - if gimp_unstable or not release + if not stable or not release #python.exe is prefered in unstable versions because of error output python_config.set('PYTHON_EXE', 'python.exe') else