Project

General

Profile

Feature #1665 ยป 0027-Drop-Windows-support-for-gtk4x-client.patch

Marko Lindqvist, 08/31/2025 03:15 AM

View differences:

doc/README.msys2
- With premade environment, buildable clients are:
For "win64": gtk3.22, gtk4, sdl2, Qt5
For "win64-10": gtk3.22, gtk4, gtk4x, sdl2, sdl3, Qt6, Qt6x
For "win64-10": gtk3.22, gtk4, sdl2, sdl3, Qt6, Qt6x
Setup
......
- "<gui>-installer", where <gui> is
- gtk3.22
- gtk4
- gtk4x
- sdl2
- sdl3
- qt5
platforms/windows/Makefile.am
installer_msys2/create-freeciv-gtk-qt-nsi.sh \
installer_msys2/create-freeciv-gtk3.22-nsi.sh \
installer_msys2/create-freeciv-gtk4-nsi.sh \
installer_msys2/create-freeciv-gtk4x-nsi.sh \
installer_msys2/create-freeciv-qt5-nsi.sh \
installer_msys2/create-freeciv-qt6-nsi.sh \
installer_msys2/create-freeciv-qt6x-nsi.sh \
......
installer_msys2/create-freeciv-ruledit-nsi.sh \
installer_msys2/freeciv-gtk3.22.cmd \
installer_msys2/freeciv-gtk4.cmd \
installer_msys2/freeciv-gtk4x.cmd \
installer_msys2/freeciv-mp-gtk3.cmd \
installer_msys2/freeciv-mp-gtk4.cmd \
installer_msys2/freeciv-mp-gtk4x.cmd \
installer_msys2/freeciv-mp-qt.cmd \
installer_msys2/freeciv-qt.cmd \
installer_msys2/freeciv-sdl2.cmd \
......
installer_cross/freeciv-server.cmd \
installer_cross/freeciv-gtk3.22.cmd \
installer_cross/freeciv-gtk4.cmd \
installer_cross/freeciv-gtk4x.cmd \
installer_cross/freeciv-mp-gtk3.cmd \
installer_cross/freeciv-mp-gtk4.cmd \
installer_cross/freeciv-mp-gtk4x.cmd \
installer_cross/freeciv-qt.cmd \
installer_cross/freeciv-mp-qt.cmd \
installer_cross/freeciv-sdl2.cmd \
platforms/windows/installer_cross/freeciv-gtk4x.cmd
@echo off
if not "%1" == "auto" set LANG=%1
start "%~n0" /D . "%~dp0\freeciv-gtk4x.exe" %2 %3 %4 %5 %6 %7 %8 %9
platforms/windows/installer_cross/freeciv-mp-gtk4x.cmd
@echo off
if not "%1" == "auto" set LANG=%1
start "%~n0" /D . "%~dp0\freeciv-mp-gtk4x.exe" %2 %3 %4 %5 %6 %7 %8 %9
platforms/windows/installer_cross/meson-build_all_installers.sh
GTK4="Success"
fi
if test "${CROSSER_GTK4}" != "yes" ; then
GTK4x="N/A"
elif ! ./meson-installer_build.sh "${DLLSPATH}" gtk4x ; then
RET=1
GTK4x="Fail"
else
GTK4x="Success"
fi
if test "${CROSSER_QT6}" != "yes" ; then
QT6="N/A"
elif ! ./meson-installer_build.sh "${DLLSPATH}" qt6 ; then
......
echo "Gtk3.22: ${GTK322}"
echo "Gtk4: ${GTK4}"
echo "Gtk4x: ${GTK4x}"
echo "Qt6: ${QT6}"
echo "Qt6x: ${QT7}"
echo "Sdl2: ${SDL2}"
platforms/windows/installer_cross/meson-installer_build.sh
GUINAME="GTK4"
MPGUI="gtk4"
FCMP="gtk4" ;;
gtk4x)
GUINAME="GTK4x"
MPGUI="gtk4x"
FCMP="gtk4x" ;;
sdl2)
GUINAME="SDL2"
FCMP="gtk4" ;;
......
exit 1
fi
;;
gtk4|gtk4x)
gtk4)
if ! add_gtk4_env "${DLLSPATH}" "${INSTDIR}" ; then
echo "Copying gtk4 environment failed!" >&2
exit 1
......
fi
if test "$GUI" = "gtk3.22" || test "$GUI" = "gtk4" ||
test "$GUI" = "gtk4x" || test "$GUI" = "sdl2" ; then
test "$GUI" = "sdl2" ; then
UNINSTALLER="helpers/uninstaller-helper-gtk3.sh"
else
UNINSTALLER=""
platforms/windows/installer_cross/meson-winbuild.sh
GUI="$2"
if test "${GUI}" != "gtk3.22" && test "${GUI}" != "gtk4" &&
test "${GUI}" != "gtk4x" &&
if test "${GUI}" != "gtk3.22" &&
test "${GUI}" != "gtk4" &&
test "${GUI}" != "sdl2" &&
test "${GUI}" != "qt6" &&
test "${GUI}" != "qt6x" &&
......
case "${GUI}" in
gtk3.22) FCMP="gtk3" ;;
gtk4) FCMP="gtk4" ;;
gtk4x) FCMP="gtk4x" ;;
sdl2) FCMP="gtk4" ;;
qt6) CLIENT="qt"
FCMP="qt"
platforms/windows/installer_msys2/Makefile.meson
all-win64: gtk3.22-installer sdl2-installer qt5-installer ruledit-installer-qt5
all-win64-10: gtk3.22-installer sdl2-installer sdl3-installer gtk4-installer qt6-installer ruledit-installer-qt6 qt6x-installer gtk4x-installer
all-win64-10: gtk3.22-installer sdl2-installer sdl3-installer gtk4-installer qt6-installer ruledit-installer-qt6 qt6x-installer
all-win64+: gtk3.22-installer sdl2-installer sdl3-installer gtk4-installer qt6-installer ruledit-installer-qt6 qt6x-installer gtk4x-installer
all-win64+: gtk3.22-installer sdl2-installer sdl3-installer gtk4-installer qt6-installer ruledit-installer-qt6 qt6x-installer
release:
make -f $(MAKEFILE_NAME) EXTRA_CONFIG="-Dbuildtype=release -Doptimization=3 $(EXTRA_CONFIG)" all
......
gtk4-installer:
make -f $(MAKEFILE_NAME) GUI=gtk4 CLIENT=gtk4 FCMP=gtk4 installer-common
gtk4x-installer:
make -f $(MAKEFILE_NAME) GUI=gtk4x CLIENT=gtk4x FCMP=gtk4x installer-common
sdl2-installer:
make -f $(MAKEFILE_NAME) GUI=sdl2 CLIENT=sdl2 FCMP=gtk4 installer-common
......
gtk4-install:
make -f $(MAKEFILE_NAME) GUI=gtk4 CLIENT=gtk4 FCMP=gtk4 install-freeciv-gtk4
gtk4x-install:
make -f $(MAKEFILE_NAME) GUI=gtk4x CLIENT=gtk4x FCMP=gtk4x install-freeciv-gtk4x
sdl2-install:
make -f $(MAKEFILE_NAME) GUI=sdl2 CLIENT=sdl2 FCMP=gtk4 install-freeciv-sdl2
......
install-freeciv-gtk4: install-freeciv-common
install-freeciv-gtk4x: install-freeciv-common
install-freeciv-sdl2: install-freeciv-common
install-freeciv-qt5: install-freeciv-common
......
install-env-gtk4: install-env-gtk4-fcmp
cp -R $(addprefix $(DLLPATH_PREFIX), $(SOUND_DLLS_SDL2)) $(INST_DIR)/$(WINARCH)-client-$(GUI)/
install-env-gtk4x: install-env-gtk4-fcmp
cp -R $(addprefix $(DLLPATH_PREFIX), $(SOUND_DLLS_SDL2)) $(INST_DIR)/$(WINARCH)-client-$(GUI)/
SDL2_DLLS := \
SDL2_ttf.dll \
libSDL2_gfx-1-0-0.dll \
......
clean:
make -f $(MAKEFILE_NAME) GUI=gtk3.22 clean-build-client clean-install-client clean-installer-common
make -f $(MAKEFILE_NAME) GUI=gtk4 clean-build-client clean-install-client clean-installer-common
make -f $(MAKEFILE_NAME) GUI=gtk4x clean-build-client clean-install-client clean-installer-common
make -f $(MAKEFILE_NAME) GUI=sdl2 clean-build-client clean-install-client clean-installer-common
make -f $(MAKEFILE_NAME) GUI=sdl3 clean-build-client clean-install-client clean-installer-common
make -f $(MAKEFILE_NAME) GUI=qt5 clean-build-client clean-install-client clean-installer-common
platforms/windows/installer_msys2/create-freeciv-gtk4x-nsi.sh
#!/bin/sh
# ./create-freeciv-gtk4x-nsi.sh <freeciv files dir> <output dir> <version> <win32|win64|win>
./create-freeciv-gtk-qt-nsi.sh "$1" "$2" "$3" "gtk4x" "GTK4x" "$4" "gtk4x"
platforms/windows/installer_msys2/freeciv-gtk4x.cmd
@echo off
if not "%1" == "auto" set LANG=%1
start "%~n0" /D . "%~dp0\freeciv-gtk4x.exe" %2 %3 %4 %5 %6 %7 %8 %9
platforms/windows/installer_msys2/freeciv-mp-gtk4x.cmd
@echo off
if not "%1" == "auto" set LANG=%1
start "%~n0" /D . "%~dp0\freeciv-mp-gtk4x.exe" %2 %3 %4 %5 %6 %7 %8 %9
    (1-1/1)