OSDN Git Service

Updated build script and installer to better support multiple versions of Visual...
authorLoRd_MuldeR <mulder2@gmx.de>
Tue, 11 Aug 2015 20:10:00 +0000 (22:10 +0200)
committerLoRd_MuldeR <mulder2@gmx.de>
Tue, 11 Aug 2015 20:10:00 +0000 (22:10 +0200)
14 files changed:
etc/Deployment/_build.bat
etc/Deployment/_deploy.bat
etc/Deployment/_lupdate.bat
etc/Deployment/_paths.bat
etc/Deployment/buildenv.template.txt
etc/NSIS/setup.nsi
etc/Translation/Blank.nsh
etc/Translation/LameXP_DE.nsh
etc/Translation/LameXP_ES.nsh
etc/Translation/LameXP_HU.nsh
etc/Translation/LameXP_PL.nsh
etc/Translation/LameXP_RU.nsh
etc/Translation/LameXP_UK.nsh
src/Config.h

index f9f587d..154820d 100644 (file)
@@ -12,7 +12,7 @@ echo.
 :: ---------------------------------------------------------------------------
 
 call "%~dp0\_paths.bat"
-call "%PATH_MSCDIR%\VC\bin\vcvars32.bat" x86
+call "%PATH_MSCDIR%\VC\bin\vcvars32.bat"
 
 if exist "%PATH_QTMSVC%\bin\qtenv2.bat" (
        call "%PATH_QTMSVC%\bin\qtenv2.bat"
index e5737a3..76e7f07 100644 (file)
@@ -100,23 +100,20 @@ for %%i in (exe,sfx,zip,txt) do (
 rd /S /Q "%TMP_PATH%" 2> NUL
 mkdir "%TMP_PATH%"
 
-for %%i in (exe,dll) do (
-       copy "%BIN_PATH%\*.%%i" "%TMP_PATH%"
-)
-
+copy "%BIN_PATH%\LameXP.exe" "%TMP_PATH%"
 if "%LAMEXP_REDIST%"=="1" (
+       copy "%BIN_PATH%\MUtils32-?.dll" "%TMP_PATH%"
        mkdir "%TMP_PATH%\imageformats"
        for %%i in (Core,Gui,Network,Xml,Svg) do (
-               copy "%QTDIR%\bin\Qt%%i4.dll" "%TMP_PATH%"
+               copy "%~dp0\..\..\..\Prerequisites\Qt4\v%PATH_VCTOOL%_xp\Shared\bin\Qt%%i4.dll" "%TMP_PATH%"
        )
        for %%i in (gif,ico,jpeg,mng,svg,tga,tiff) do (
-               copy "%QTDIR%\plugins\imageformats\q%%i4.dll" "%TMP_PATH%\imageformats"
+               copy "%~dp0\..\..\..\Prerequisites\Qt4\v%PATH_VCTOOL%_xp\Shared\plugins\imageformats\q%%i4.dll" "%TMP_PATH%\imageformats"
        )
-       for %%i in (100,110,120) do (
-               if exist "%PATH_MSCDIR%\VC\redist\x86\Microsoft.VC%%i.CRT\*.dll" (
-                       copy "%PATH_MSCDIR%\VC\redist\x86\Microsoft.VC%%i.CRT\msvcr%%i.dll" "%TMP_PATH%"
-                       copy "%PATH_MSCDIR%\VC\redist\x86\Microsoft.VC%%i.CRT\msvcp%%i.dll" "%TMP_PATH%"
-               )
+       copy "%PATH_MSCDIR%\VC\redist\x86\Microsoft.VC%PATH_VCTOOL%.CRT\*.dll" "%TMP_PATH%"
+       if exist "%PATH_MSCDIR%\VC\redist\1033\vcredist_x86.exe" (
+               mkdir "%TMP_PATH%\redist"
+               copy "%PATH_MSCDIR%\VC\redist\1033\vcredist_x86.exe" "%TMP_PATH%\redist"
        )
 )
 
@@ -172,12 +169,12 @@ pushd "%TMP_PATH%"
 "%~dp0\..\Utilities\Zip.exe" -r -9 -z "%OUT_FILE%.zip" "*.*" < "%OUT_FILE%.txt"
 popd
 
-"%PATH_MKNSIS%\makensis.exe" "/DLAMEXP_UPX_PATH=%PATH_UPXBIN%" "/DLAMEXP_DATE=%ISO_DATE%" "/DLAMEXP_VERSION=%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%" "/DLAMEXP_BUILD=%VER_LAMEXP_BUILD%" "/DLAMEXP_INSTTYPE=%VER_LAMEXP_TYPE%" "/DLAMEXP_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.sfx" "/DLAMEXP_SOURCE_PATH=%TMP_PATH%" "%~dp0\..\NSIS\setup.nsi"
+"%PATH_MKNSIS%\makensis.exe" "/DLAMEXP_UPX_PATH=%PATH_UPXBIN%" "/DLAMEXP_DATE=%ISO_DATE%" "/DLAMEXP_VERSION=%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%" "/DLAMEXP_BUILD=%VER_LAMEXP_BUILD%" "/DLAMEXP_INSTTYPE=%VER_LAMEXP_TYPE%" "/DLAMEXP_REDIST=%LAMEXP_REDIST%" "/DLAMEXP_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.sfx" "/DLAMEXP_SOURCE_PATH=%TMP_PATH%" "%~dp0\..\NSIS\setup.nsi"
 if %ERRORLEVEL% NEQ 0 (
        "%~dp0\..\Utilities\CEcho.exe" red "\nFailed to build installer^!\n"
        pause && exit
 )
-"%PATH_MKNSIS%\makensis.exe" "/DLAMEXP_UPX_PATH=%PATH_UPXBIN%" "/DLAMEXP_DATE=%ISO_DATE%" "/DLAMEXP_VERSION=%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%" "/DLAMEXP_BUILD=%VER_LAMEXP_BUILD%" "/DLAMEXP_INSTTYPE=%VER_LAMEXP_TYPE%" "/DLAMEXP_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.exe" "/DLAMEXP_SOURCE_FILE=%OUT_FILE%.sfx" "%~dp0\..\NSIS\wrapper.nsi"
+"%PATH_MKNSIS%\makensis.exe" "/DLAMEXP_UPX_PATH=%PATH_UPXBIN%" "/DLAMEXP_DATE=%ISO_DATE%" "/DLAMEXP_VERSION=%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%" "/DLAMEXP_BUILD=%VER_LAMEXP_BUILD%" "/DLAMEXP_INSTTYPE=%VER_LAMEXP_TYPE%" "/DLAMEXP_REDIST=%LAMEXP_REDIST%" "/DLAMEXP_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.exe" "/DLAMEXP_SOURCE_FILE=%OUT_FILE%.sfx" "%~dp0\..\NSIS\wrapper.nsi"
 if %ERRORLEVEL% NEQ 0 (
        "%~dp0\..\Utilities\CEcho.exe" red "\nFailed to build installer^!\n"
        pause && exit
index 86b1e5b..576a077 100644 (file)
@@ -10,7 +10,6 @@ setlocal ENABLEDELAYEDEXPANSION
 :: ---------------------------------------------------------------------------
 
 call "%~dp0\_paths.bat"
-call "%PATH_MSCDIR%\VC\bin\vcvars32.bat" x86
 
 if exist "%PATH_QTMSVC%\bin\qtenv2.bat" (
        call "%PATH_QTMSVC%\bin\qtenv2.bat"
index bb2f74a..b546e83 100644 (file)
@@ -18,6 +18,7 @@ set "PATH_MSCDIR="
 set "PATH_QTMSVC="
 set "PATH_GNUPG1="
 set "PATH_PANDOC="
+set "PATH_VCTOOL="
 set "PATH_VCPROJ="
 
 :: ------------------------------------------
@@ -45,6 +46,7 @@ for /f "tokens=2,*" %%s in (%BUILDENV_TXT%) do (
        if "%%s"=="PATH_QTMSVC" set "PATH_QTMSVC=%%~t"
        if "%%s"=="PATH_GNUPG1" set "PATH_GNUPG1=%%~t"
        if "%%s"=="PATH_PANDOC" set "PATH_PANDOC=%%~t"
+       if "%%s"=="PATH_VCTOOL" set "PATH_VCTOOL=%%~t"
        if "%%s"=="PATH_VCPROJ" set "PATH_VCPROJ=%%~t"
 )
 
@@ -61,6 +63,7 @@ set "BUILDENV_TXT="
 "%~dp0\..\Utilities\CEcho.exe" yellow "PATH_QTMSVC = \"%PATH_QTMSVC:\=\\%\""
 "%~dp0\..\Utilities\CEcho.exe" yellow "PATH_GNUPG1 = \"%PATH_GNUPG1:\=\\%\""
 "%~dp0\..\Utilities\CEcho.exe" yellow "PATH_PANDOC = \"%PATH_PANDOC:\=\\%\""
+"%~dp0\..\Utilities\CEcho.exe" yellow "PATH_VCTOOL = \"%PATH_VCTOOL:\=\\%\""
 "%~dp0\..\Utilities\CEcho.exe" yellow "PATH_VCPROJ = \"%PATH_VCPROJ:\=\\%\""
 "%~dp0\..\Utilities\CEcho.exe" yellow "=========== END PATHS ===========\n"
 
@@ -77,6 +80,7 @@ call:validate_path PATH_QTMSVC "%PATH_QTMSVC%\bin\moc.exe"
 call:validate_path PATH_QTMSVC "%PATH_QTMSVC%\bin\rcc.exe"
 call:validate_path PATH_GNUPG1 "%PATH_GNUPG1%\gpg.exe"
 call:validate_path PATH_PANDOC "%PATH_PANDOC%\pandoc.exe"
+call:validate_path PATH_VCTOOL "%PATH_MSCDIR%\VC\redist\x86\Microsoft.VC%PATH_VCTOOL%.CRT\msvcp%PATH_VCTOOL%.dll"
 call:validate_path PATH_VCPROJ "%~dp0\..\..\%PATH_VCPROJ%"
 
 :: ------------------------------------------
index 934599d..f26d55e 100644 (file)
@@ -4,4 +4,5 @@
 #define PATH_QTMSVC "C:\QtSDK\Desktop\Qt\4.8.5\msvc2012"
 #define PATH_GNUPG1 "C:\Program Files\GNU\GnuPG"
 #define PATH_PANDOC "C:\Program Files\Pandoc"
+#define PATH_VCTOOL "120"
 #define PATH_VCPROJ "LameXP_VS2013.sln"
index 11f962d..a2cee2b 100644 (file)
@@ -52,6 +52,9 @@
 !ifndef LAMEXP_UPX_PATH
   !error "LAMEXP_UPX_PATH is not defined !!!"
 !endif
+!ifndef LAMEXP_REDIST
+  !error "LAMEXP_REDIST is not defined !!!"
+!endif
 
 ;UUID
 !define MyRegPath "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{FBD7A67D-D700-4043-B54F-DD106D00F308}"
@@ -533,6 +536,8 @@ Section "!Install Files"
        Delete "$INSTDIR\Translate.html"
        Delete "$INSTDIR\Uninstall.exe"
        RMDir /r "$INSTDIR\img"
+       RMDir /r "$INSTDIR\imageformats"
+       RMDir /r "$INSTDIR\redist"
 
        !insertmacro GetExecutableName $R0
 
@@ -546,13 +551,22 @@ Section "!Install Files"
        ${EndIf}
        
        File /a `/oname=$R0` `${LAMEXP_SOURCE_PATH}\LameXP.exe`
-
+       File /nonfatal /a /r `${LAMEXP_SOURCE_PATH}\*.dll`
+       
        File /a /r `${LAMEXP_SOURCE_PATH}\*.txt`
        File /a /r `${LAMEXP_SOURCE_PATH}\*.html`
        File /a /r `${LAMEXP_SOURCE_PATH}\*.png`
 SectionEnd
 
-Section "-Write Uinstaller"
+!if ${LAMEXP_REDIST} != 0
+       Section "-Install VCRedist"
+               !insertmacro PrintProgress "$(LAMEXP_LANG_STATUS_VCREDIST)"
+               File /a `/oname=$PLUGINSDIR\vcredist_x86.exe` `${LAMEXP_SOURCE_PATH}\redist\vcredist_x86.exe`
+               ExecWait '"$PLUGINSDIR\vcredist_x86.exe" /install /passive /norestart'
+       SectionEnd
+!endif
+
+Section "-Write Uninstaller"
        !insertmacro PrintProgress "$(LAMEXP_LANG_STATUS_MAKEUNINST)"
        WriteUninstaller "$INSTDIR\Uninstall.exe"
 SectionEnd
index 2779dff..7593c07 100644 (file)
@@ -21,6 +21,7 @@
 
 LangString LAMEXP_LANG_STATUS_CLOSING      ${LANG_ENGLISH} "Closing running instance, please wait..."
 LangString LAMEXP_LANG_STATUS_INSTFILES    ${LANG_ENGLISH} "Installing program files, please wait..."
+LangString LAMEXP_LANG_STATUS_VCREDIST     ${LANG_ENGLISH} "Installing runtime libraries, please wait..."
 LangString LAMEXP_LANG_STATUS_MAKEUNINST   ${LANG_ENGLISH} "Creating the uninstaller, please wait..."
 LangString LAMEXP_LANG_STATUS_SHORTCUTS    ${LANG_ENGLISH} "Creating shortcuts, please wait..."
 LangString LAMEXP_LANG_STATUS_REGISTRY     ${LANG_ENGLISH} "Updating the registry, please wait..."
index e61dcee..6ff4621 100644 (file)
@@ -21,6 +21,7 @@
 
 LangString LAMEXP_LANG_STATUS_CLOSING      ${LANG_GERMAN} "Schließe laufende Instanz, bitte warten..."
 LangString LAMEXP_LANG_STATUS_INSTFILES    ${LANG_GERMAN} "Installiere Programm-Dateien, bitte warten..."
+LangString LAMEXP_LANG_STATUS_VCREDIST     ${LANG_GERMAN} "Installiere Laufzeitbibliotheken, bitte warten..."
 LangString LAMEXP_LANG_STATUS_MAKEUNINST   ${LANG_GERMAN} "Erzeuge Uninstaller, bitte warten..."
 LangString LAMEXP_LANG_STATUS_SHORTCUTS    ${LANG_GERMAN} "Erzeuge Verknüpfungen, bitte warten..."
 LangString LAMEXP_LANG_STATUS_REGISTRY     ${LANG_GERMAN} "Registrierung wird aktualisiert, bitte warten..."
index f3d517f..49e482b 100644 (file)
@@ -21,6 +21,7 @@
 
 LangString LAMEXP_LANG_STATUS_CLOSING      ${LANG_SPANISH} "Cerrando instancias en ejecución, espere por favor..."
 LangString LAMEXP_LANG_STATUS_INSTFILES    ${LANG_SPANISH} "Instalando archivos de programa, espere por favor..."
+LangString LAMEXP_LANG_STATUS_VCREDIST     ${LANG_SPANISH} "Installing runtime libraries, please wait..."
 LangString LAMEXP_LANG_STATUS_MAKEUNINST   ${LANG_SPANISH} "Creando desinstalador, espere por favor..."
 LangString LAMEXP_LANG_STATUS_SHORTCUTS    ${LANG_SPANISH} "Creando accesos directos, espere por favor..."
 LangString LAMEXP_LANG_STATUS_REGISTRY     ${LANG_SPANISH} "Actualizando el registro, espere por favor..."
index 73cb461..1a70342 100644 (file)
@@ -21,6 +21,7 @@
 
 LangString LAMEXP_LANG_STATUS_CLOSING      ${LANG_HUNGARIAN} "Futó példány bezárása, kis türelmet..."
 LangString LAMEXP_LANG_STATUS_INSTFILES    ${LANG_HUNGARIAN} "Programfájlok telepítése, kis türelmet..."
+LangString LAMEXP_LANG_STATUS_VCREDIST     ${LANG_HUNGARIAN} "Installing runtime libraries, please wait..."
 LangString LAMEXP_LANG_STATUS_MAKEUNINST   ${LANG_HUNGARIAN} "Eltávolító létrehozása, kis türelmet..."
 LangString LAMEXP_LANG_STATUS_SHORTCUTS    ${LANG_HUNGARIAN} "Parancsikonok létrehozása, kis türelmet..."
 LangString LAMEXP_LANG_STATUS_REGISTRY     ${LANG_HUNGARIAN} "Rendszerleíró frissítése, kis türelmet..."
index 02452c7..b1f4ca0 100644 (file)
@@ -21,6 +21,7 @@
 
 LangString LAMEXP_LANG_STATUS_CLOSING      ${LANG_POLISH} "Zamykanie uruchomionych procesów, prosze czekać..."
 LangString LAMEXP_LANG_STATUS_INSTFILES    ${LANG_POLISH} "Kopiowanie plików programu, prosze czekać..."
+LangString LAMEXP_LANG_STATUS_VCREDIST     ${LANG_POLISH} "Installing runtime libraries, please wait..."
 LangString LAMEXP_LANG_STATUS_MAKEUNINST   ${LANG_POLISH} "Tworzenie pliku wykonującego deinstalację, prosze czekać..."
 LangString LAMEXP_LANG_STATUS_SHORTCUTS    ${LANG_POLISH} "Tworzenie skrótów do programu, prosze czekać..."
 LangString LAMEXP_LANG_STATUS_REGISTRY     ${LANG_POLISH} "Zapisywanie do rejestru, prosze czekać..."
index 132e6ea..579f5ea 100644 (file)
@@ -21,6 +21,7 @@
 
 LangString LAMEXP_LANG_STATUS_CLOSING      ${LANG_RUSSIAN} "Закрываю работающие копии программы; пожалуйста, подождите..."
 LangString LAMEXP_LANG_STATUS_INSTFILES    ${LANG_RUSSIAN} "Устанавливаю файлы программы; пожалуйста, подождите..."
+LangString LAMEXP_LANG_STATUS_VCREDIST     ${LANG_RUSSIAN} "Installing runtime libraries, please wait..."
 LangString LAMEXP_LANG_STATUS_MAKEUNINST   ${LANG_RUSSIAN} "Создаю деинсталлятор; пожалуйста, подождите..."
 LangString LAMEXP_LANG_STATUS_SHORTCUTS    ${LANG_RUSSIAN} "Создаю ярлыки; пожалуйста, подождите..."
 LangString LAMEXP_LANG_STATUS_REGISTRY     ${LANG_RUSSIAN} "Обновляю реестр; пожалуйста, подождите..."
index 35c8d92..39c47a0 100644 (file)
@@ -21,6 +21,7 @@
 
 LangString LAMEXP_LANG_STATUS_CLOSING      ${LANG_UKRAINIAN} "Закриття запущеної копії, будь ласка, зачекайте..."
 LangString LAMEXP_LANG_STATUS_INSTFILES    ${LANG_UKRAINIAN} "Встановлення програмних файлів, будь ласка, зачекайте..."
+LangString LAMEXP_LANG_STATUS_VCREDIST     ${LANG_UKRAINIAN} "Installing runtime libraries, please wait..."
 LangString LAMEXP_LANG_STATUS_MAKEUNINST   ${LANG_UKRAINIAN} "Створення додатку видалення, будь ласка, зачекайте..."
 LangString LAMEXP_LANG_STATUS_SHORTCUTS    ${LANG_UKRAINIAN} "Створення посилань, будь ласка, зачекайте..."
 LangString LAMEXP_LANG_STATUS_REGISTRY     ${LANG_UKRAINIAN} "Оновлення реєстру, будь ласка, зачекайте..."
index 613a4f7..fc26b3e 100644 (file)
@@ -35,7 +35,7 @@
 #define VER_LAMEXP_MINOR_LO                                    2
 #define VER_LAMEXP_TYPE                                                Beta
 #define VER_LAMEXP_PATCH                                       2
-#define VER_LAMEXP_BUILD                                       1775
+#define VER_LAMEXP_BUILD                                       1780
 #define VER_LAMEXP_CONFG                                       1700
 
 ///////////////////////////////////////////////////////////////////////////////