Author: cazfi
Date: Thu Nov 20 17:51:40 2014
New Revision: 27084

URL: http://svn.gna.org/viewcvs/freeciv?rev=27084&view=rev
Log:
Added support for building Qt-client package for Windows.

Patch by Christian Prochaska <cproc> and myself

See task #7752

Added:
    trunk/win32/installer/create-freeciv-gtk-qt-nsi.sh
      - copied, changed from r27083, 
trunk/win32/installer/create-freeciv-gtk-nsi.sh
Removed:
    trunk/win32/installer/create-freeciv-gtk-nsi.sh
Modified:
    trunk/win32/Makefile.am
    trunk/win32/installer/Makefile
    trunk/win32/installer/create-freeciv-gtk2-nsi.sh
    trunk/win32/installer/create-freeciv-gtk3-nsi.sh

Modified: trunk/win32/Makefile.am
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/win32/Makefile.am?rev=27084&r1=27083&r2=27084&view=diff
==============================================================================
--- trunk/win32/Makefile.am     (original)
+++ trunk/win32/Makefile.am     Thu Nov 20 17:51:40 2014
@@ -7,14 +7,17 @@
                clienticon.rc   \
                mpicon.rc       \
                servericon.rc   \
-               installer/create-freeciv-gtk-nsi.sh     \
+               installer/create-freeciv-gtk-qt-nsi.sh  \
                installer/create-freeciv-gtk2-nsi.sh    \
                installer/create-freeciv-gtk3-nsi.sh    \
+               installer/create-freeciv-qt-nsi.sh      \
                installer/create-freeciv-sdl-nsi.sh     \
                installer/freeciv-gtk2.cmd              \
                installer/freeciv-gtk3.cmd              \
                installer/freeciv-mp-gtk2.cmd           \
                installer/freeciv-mp-gtk3.cmd           \
+               installer/freeciv-mp-qt.cmd             \
+               installer/freeciv-qt.cmd                \
                installer/freeciv-sdl.cmd               \
                installer/freeciv-server.cmd            \
                installer/Freeciv.url                   \

Modified: trunk/win32/installer/Makefile
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/win32/installer/Makefile?rev=27084&r1=27083&r2=27084&view=diff
==============================================================================
--- trunk/win32/installer/Makefile      (original)
+++ trunk/win32/installer/Makefile      Thu Nov 20 17:51:40 2014
@@ -36,6 +36,9 @@
 sdl-installer:
        make GUI=sdl FCMP=gtk3 wrap-sdl
 
+qt-installer:
+       make GUI=qt FCMP=qt wrap-qt
+
 snapshot:
        cd ../.. ; ./autogen.sh --no-configure-run
        make EXTRA_CONFIG="--enable-svnrev" all
@@ -57,6 +60,7 @@
 
 build-freeciv-sdl: build-freeciv-common
 
+build-freeciv-qt: build-freeciv-common
 
 # install Freeciv
 
@@ -90,6 +94,7 @@
        cp /opt/un-fonts/UnDotum.ttf install-sdl/data/themes/gui-sdl/human/
        cp /opt/un-fonts/COPYING 
install-sdl/data/themes/gui-sdl/human/COPYING.UnDotum
 
+install-freeciv-qt: install-freeciv-common
 
 # install Freeciv environment
 
@@ -183,6 +188,17 @@
        # add DLLs
        cp -R $(addprefix /bin/, $(SDL_DLLS)) install-$(GUI)
 
+QT_DLLS := \
+       libstdc++-6.dll \
+       Qt5Core.dll \
+       Qt5Gui.dll \
+       Qt5Widgets.dll
+
+install-env-qt: install-env-default-fcmp
+       # add DLLs
+       cp -R $(addprefix /bin/, $(QT_DLLS)) install-$(GUI)
+       # add additional Qt files
+       cp -R /plugins install-$(GUI)/
 
 # build installer
        
@@ -201,6 +217,8 @@
 
 wrap-sdl: build-freeciv-sdl installer-common
 
+wrap-qt: build-freeciv-qt installer-common
+
 
 # cleanup
 
@@ -218,3 +236,4 @@
        make GUI=gtk3 clean-build-common clean-install-common 
clean-installer-common
        make GUI=gtk2 clean-build-common clean-install-common 
clean-installer-common
        make GUI=sdl clean-build-common clean-install-common 
clean-installer-common
+       make GUI=qt clean-build-common clean-install-common 
clean-installer-common

Removed: trunk/win32/installer/create-freeciv-gtk-nsi.sh
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/win32/installer/create-freeciv-gtk-nsi.sh?rev=27083&view=auto
==============================================================================
--- trunk/win32/installer/create-freeciv-gtk-nsi.sh     (original)
+++ trunk/win32/installer/create-freeciv-gtk-nsi.sh     (removed)
@@ -1,319 +0,0 @@
-#!/bin/sh
-
-# ./create-freeciv-gtk-nsi.sh <Freeciv files directory> <version> <gtk2|gtk3> 
<GTK+2|GTK+3>
-
-cat <<EOF
-; Freeciv Windows installer script
-; some parts adapted from Wesnoth installer script
-
-SetCompressor /SOLID lzma
-
-!define APPNAME "Freeciv"
-!define VERSION $2
-!define GUI_ID $3
-!define GUI_NAME $4
-!define APPID "\${APPNAME}-\${VERSION}-\${GUI_ID}"
-
-!define MULTIUSER_EXECUTIONLEVEL Highest
-!define MULTIUSER_MUI
-!define MULTIUSER_INSTALLMODE_COMMANDLINE
-!define MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY 
"Software\\\${APPNAME}\\\${VERSION}\\\${GUI_ID}"
-!define MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME ""
-!define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY 
"Software\\\${APPNAME}\\\${VERSION}\\\${GUI_ID}"
-!define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME ""
-!define MULTIUSER_INSTALLMODE_INSTDIR "\${APPNAME}-\${VERSION}-\${GUI_ID}"
-
-!include "MultiUser.nsh"
-!include "MUI2.nsh"
-!include "nsDialogs.nsh"
-
-;General
-
-Name "\${APPNAME} \${VERSION} (\${GUI_NAME} client)"
-OutFile "Output/\${APPNAME}-\${VERSION}-win32-\${GUI_ID}-setup.exe"
-
-;Variables
-
-Var STARTMENU_FOLDER
-Var DefaultLanguageCode
-Var LangName
-
-; Pages
-
-!insertmacro MUI_PAGE_WELCOME
-!insertmacro MUI_PAGE_LICENSE "$1\doc\freeciv\COPYING"
-!insertmacro MUI_PAGE_COMPONENTS
-Page custom DefaultLanguage DefaultLanguageLeave
-!insertmacro MULTIUSER_PAGE_INSTALLMODE
-!insertmacro MUI_PAGE_DIRECTORY
-
-;Start Menu Folder Page Configuration
-!define MUI_STARTMENUPAGE_REGISTRY_ROOT "SHCTX" 
-!define MUI_STARTMENUPAGE_REGISTRY_KEY 
"Software\\\${APPNAME}\\\${VERSION}\\\${GUI_ID}" 
-!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
-!define MUI_STARTMENUPAGE_DEFAULTFOLDER "\$(^Name)"
-
-!insertmacro MUI_PAGE_STARTMENU "Application" \$STARTMENU_FOLDER
-!insertmacro MUI_PAGE_INSTFILES
-
-!define MUI_FINISHPAGE_RUN
-!define MUI_FINISHPAGE_RUN_FUNCTION RunFreeciv
-!insertmacro MUI_PAGE_FINISH
-
-!insertmacro MUI_UNPAGE_CONFIRM
-!insertmacro MUI_UNPAGE_INSTFILES
-
-;Languages
-
-!insertmacro MUI_LANGUAGE "English"
-
-EOF
-
-### required files ###
-
-cat <<EOF
-; The stuff to install
-Section "\${APPNAME} (required)"
-
-  SectionIn RO
-
-  SetOutPath \$INSTDIR
-EOF
-
-  # find files and directories to exclude from default installation
-
-  echo -n "  File /nonfatal /r "
-
-  # languages
-  echo -n "/x locale "
-
-  # soundsets
-  find $1/data -mindepth 1 -maxdepth 1 -name *.soundspec -printf %f\\n |
-  sed 's|.soundspec||' |
-  while read -r name
-  do
-  echo -n "/x $name.soundspec /x $name "
-  done
-
-  echo "$1\\*.*"
-
-cat <<EOF
-
-  ; Write the installation path into the registry
-  WriteRegStr "SHCTX" SOFTWARE\\\${APPNAME}\\\${VERSION}\\\${GUI_ID} "" 
"\$INSTDIR"
-
-  !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
-  CreateDirectory "\$SMPROGRAMS\\\$STARTMENU_FOLDER"
-  CreateShortCut "\$SMPROGRAMS\\\$STARTMENU_FOLDER\Freeciv.lnk" 
"\$INSTDIR\freeciv-\${GUI_ID}.cmd" "\$DefaultLanguageCode" 
"\$INSTDIR\freeciv-\${GUI_ID}.exe" 0 SW_SHOWMINIMIZED
-  CreateShortCut "\$SMPROGRAMS\\\$STARTMENU_FOLDER\Freeciv Server.lnk" 
"\$INSTDIR\freeciv-server.cmd" "\$DefaultLanguageCode" 
"\$INSTDIR\freeciv-server.exe" 0 SW_SHOWMINIMIZED
-  CreateShortCut "\$SMPROGRAMS\\\$STARTMENU_FOLDER\Freeciv Modpack 
Installer.lnk" "\$INSTDIR\freeciv-mp-\${GUI_ID}.cmd" "\$DefaultLanguageCode" 
"\$INSTDIR\freeciv-mp-\${GUI_ID}.exe" 0 SW_SHOWMINIMIZED
-  CreateShortCut "\$SMPROGRAMS\\\$STARTMENU_FOLDER\Uninstall.lnk" 
"\$INSTDIR\uninstall.exe"
-  CreateShortCut "\$SMPROGRAMS\\\$STARTMENU_FOLDER\Website.lnk" 
"\$INSTDIR\Freeciv.url"
-  !insertmacro MUI_STARTMENU_WRITE_END
-
-  ; Write the uninstall keys for Windows
-  WriteRegStr "SHCTX" 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\\\${APPID}" "DisplayName" 
"\$(^Name)"
-  WriteRegStr "SHCTX" 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\\\${APPID}" 
"UninstallString" '"\$INSTDIR\uninstall.exe"'
-  WriteRegDWORD "SHCTX" 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\\\${APPID}" "NoModify" 1
-  WriteRegDWORD "SHCTX" 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\\\${APPID}" "NoRepair" 1
-  WriteUninstaller "uninstall.exe"
-  
-  SetOutPath \$INSTDIR
-SectionEnd
-
-EOF
-
-### soundsets ###
-
-cat <<EOF
-SectionGroup "Soundsets"
-
-EOF
-
-find $1/data -mindepth 1 -maxdepth 1 -name *.soundspec -printf %f\\n |
-sort |
-sed 's|.soundspec||' |
-while read -r name
-do
-if test -d $1/data/$name; then
-echo "  Section \"$name\""
-echo "  SetOutPath \$INSTDIR\\data"
-echo "  File /r $1\data\\$name.soundspec"
-echo "  SetOutPath \$INSTDIR\\data\\$name"
-echo "  File /r $1\\data\\$name\*.*"
-echo "  SetOutPath \$INSTDIR"
-echo "  SectionEnd"
-echo
-fi
-done
-
-cat <<EOF
-SectionGroupEnd
-
-EOF
-
-### additional languages ###
-
-cat <<EOF
-SectionGroup "Additional languages"
-
-EOF
-
-cat ../../bootstrap/langnames.txt |
-sort -k 2 |
-while read -r code name
-do
-if test -e $1/share/locale/$code/LC_MESSAGES/freeciv.mo; then
-echo "  Section \"$name ($code)\""
-echo "  SetOutPath \$INSTDIR\\share\\locale\\$code"
-echo "  File /r $1\\share\\locale\\$code\*.*"
-echo "  SetOutPath \$INSTDIR"
-echo "  SectionEnd"
-echo
-fi
-done
-
-cat <<EOF
-SectionGroupEnd
-
-EOF
-
-cat <<EOF
-;--------------------------------
-;Installer Functions
-
-Function .onInit
-
-  !insertmacro MULTIUSER_INIT
-
-FunctionEnd
-
-Var DefaultLanguageDialog
-Var DefaultLanguageLabel
-Var DefaultLanguageDropList
-
-Function DefaultLanguage
-  !insertmacro MUI_HEADER_TEXT "Choose Default Language" ""
-
-  nsDialogs::Create 1018
-  Pop \$DefaultLanguageDialog
-
-  \${If} \$DefaultLanguageDialog == error
-    Abort
-  \${EndIf}
-
-  \${NSD_CreateLabel} 0 0 100% 30% \
-"If you want to play Freeciv in a language other than your Windows language or 
\
-if Freeciv's auto-detection of your Windows language does not work correctly, \
-you can select a specific language to be used by Freeciv here. Be sure \
-you haven't unmarked the installation of the corresponding language files \
-in the previous dialog. You can also change this setting later in the Freeciv \
-Start Menu shortcut properties."
-  Pop \$DefaultLanguageLabel
-
-  \${NSD_CreateDropList} 0 -60% 100% 13u ""
-  Pop \$DefaultLanguageDropList
-
-  \${NSD_CB_AddString} \$DefaultLanguageDropList "Autodetected"
-  \${NSD_CB_SelectString} \$DefaultLanguageDropList "Autodetected"
-  \${NSD_CB_AddString} \$DefaultLanguageDropList "US English (en_US)"
-EOF
-
-  cat ../../bootstrap/langnames.txt |
-  sort -k 2 |
-  while read -r code name
-  do
-  if test -e $1/share/locale/$code/LC_MESSAGES/freeciv.mo; then
-  echo "  \${NSD_CB_AddString} \$DefaultLanguageDropList \"$name ($code)\""
-  fi
-  done
-
-cat <<EOF
-  nsDialogs::Show
-FunctionEnd
-
-Function DefaultLanguageLeave
-  \${NSD_GetText} \$DefaultLanguageDropList \$LangName
-EOF
-
-  echo "  \${If} \$LangName == \"Autodetected\""
-  echo "    StrCpy \$DefaultLanguageCode \"auto\""
-  echo "  \${EndIf}"
-  echo "  \${If} \$LangName == \"US English (en_US)\""
-  echo "    StrCpy \$DefaultLanguageCode \"en_US\""
-  echo "  \${EndIf}"
-
-  cat ../../bootstrap/langnames.txt |
-  while read -r code name
-  do
-    echo "  \${If} \$LangName == \"$name ($code)\""
-    echo "    StrCpy \$DefaultLanguageCode \"$code\""
-    echo "  \${EndIf}"
-  done
-
-cat <<EOF
-FunctionEnd
-
-Function RunFreeciv
-  nsExec::Exec '"\$INSTDIR\freeciv-\${GUI_ID}.cmd" \$DefaultLanguageCode'
-FunctionEnd
-
-EOF
-
-### uninstall section ###
-
-cat <<EOF
-; special uninstall section.
-Section "Uninstall"
-
-  ; remove files
-EOF
-
-find $1 -type f |
-grep -v '/$' |
-sed 's|[^/]*||' |
-tr '/' '\\' | while read -r name
-do
-echo "  Delete \"\$INSTDIR$name\""
-done
-
-find $1 -depth -type d |
-grep -v '/$' |
-sed 's|[^/]*||' |
-tr '/' '\\' | while read -r name
-do
-echo "  RMDir \"\$INSTDIR$name\""
-done
-
-cat <<EOF
-
-  ; MUST REMOVE UNINSTALLER, too
-  Delete "\$INSTDIR\uninstall.exe"
-
-  ; remove install directory, if empty
-  RMDir "\$INSTDIR"
-
-  ; remove shortcuts, if any.
-  !insertmacro MUI_STARTMENU_GETFOLDER "Application" \$STARTMENU_FOLDER
-  Delete "\$SMPROGRAMS\\\$STARTMENU_FOLDER\*.*"
-  RMDir "\$SMPROGRAMS\\\$STARTMENU_FOLDER"
-
-  ; remove registry keys
-  DeleteRegKey "SHCTX" 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\\\${APPID}"
-  DeleteRegKey /ifempty "SHCTX" SOFTWARE\\\${APPNAME}\\\${VERSION}\\\${GUI_ID}
-  DeleteRegKey /ifempty "SHCTX" SOFTWARE\\\${APPNAME}\\\${VERSION}
-  DeleteRegKey /ifempty "SHCTX" SOFTWARE\\\${APPNAME}
-SectionEnd
-EOF
-
-cat <<EOF
-;--------------------------------
-;Uninstaller Functions
-
-Function un.onInit
-
-  !insertmacro MULTIUSER_UNINIT
-
-FunctionEnd
-
-EOF

Copied: trunk/win32/installer/create-freeciv-gtk-qt-nsi.sh (from r27083, 
trunk/win32/installer/create-freeciv-gtk-nsi.sh)
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/win32/installer/create-freeciv-gtk-qt-nsi.sh?p2=trunk/win32/installer/create-freeciv-gtk-qt-nsi.sh&p1=trunk/win32/installer/create-freeciv-gtk-nsi.sh&r1=27083&r2=27084&rev=27084&view=diff
==============================================================================
--- trunk/win32/installer/create-freeciv-gtk-nsi.sh     (original)
+++ trunk/win32/installer/create-freeciv-gtk-qt-nsi.sh  Thu Nov 20 17:51:40 2014
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# ./create-freeciv-gtk-nsi.sh <Freeciv files directory> <version> <gtk2|gtk3> 
<GTK+2|GTK+3>
+# ./create-freeciv-gtk-qt-nsi.sh <Freeciv files directory> <version> 
<gtk2|gtk3|qt> <GTK+2|GTK+3|Qt>
 
 cat <<EOF
 ; Freeciv Windows installer script

Modified: trunk/win32/installer/create-freeciv-gtk2-nsi.sh
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/win32/installer/create-freeciv-gtk2-nsi.sh?rev=27084&r1=27083&r2=27084&view=diff
==============================================================================
--- trunk/win32/installer/create-freeciv-gtk2-nsi.sh    (original)
+++ trunk/win32/installer/create-freeciv-gtk2-nsi.sh    Thu Nov 20 17:51:40 2014
@@ -2,4 +2,4 @@
 
 # ./create-freeciv-gtk2-nsi.sh <Freeciv files directory> <version>
 
-./create-freeciv-gtk-nsi.sh $1 $2 "gtk2" "GTK+2"
+./create-freeciv-gtk-qt-nsi.sh $1 $2 "gtk2" "GTK+2"

Modified: trunk/win32/installer/create-freeciv-gtk3-nsi.sh
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/win32/installer/create-freeciv-gtk3-nsi.sh?rev=27084&r1=27083&r2=27084&view=diff
==============================================================================
--- trunk/win32/installer/create-freeciv-gtk3-nsi.sh    (original)
+++ trunk/win32/installer/create-freeciv-gtk3-nsi.sh    Thu Nov 20 17:51:40 2014
@@ -2,4 +2,4 @@
 
 # ./create-freeciv-gtk3-nsi.sh <Freeciv files directory> <version>
 
-./create-freeciv-gtk-nsi.sh $1 $2 "gtk3" "GTK+3"
+./create-freeciv-gtk-qt-nsi.sh $1 $2 "gtk3" "GTK+3"


_______________________________________________
Freeciv-commits mailing list
Freeciv-commits@gna.org
https://mail.gna.org/listinfo/freeciv-commits

Reply via email to