Commit 707610b9f07ad96318e6d84f321588c060c0c294
- Diff rendering mode:
- inline
- side by side
tools/installer/README
(0 / 12)
|   | |||
| 1 | iwmake is the tool used to generate the Qt installer binaries. | ||
| 2 | |||
| 3 | To be able to use it yourself create a config.default in the | ||
| 4 | config/ directory. You can refer to config.default.sample to see | ||
| 5 | which values need to be set within this file. | ||
| 6 | |||
| 7 | Afterwards call "iwmake.bat mingw-opensource.conf" to create an | ||
| 8 | installer package yourself. | ||
| 9 | |||
| 10 | Note that the binary creation takes a lot of time and is very | ||
| 11 | CPU-intensive as it recompiles the Qt source package among other | ||
| 12 | steps. |
tools/installer/batch/build.bat
(0 / 157)
|   | |||
| 1 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 2 | :: | ||
| 3 | :: Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | :: All rights reserved. | ||
| 5 | :: Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | :: | ||
| 7 | :: This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | :: | ||
| 9 | :: $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | :: No Commercial Usage | ||
| 11 | :: This file contains pre-release code and may not be distributed. | ||
| 12 | :: You may use this file in accordance with the terms and conditions | ||
| 13 | :: contained in the Technology Preview License Agreement accompanying | ||
| 14 | :: this package. | ||
| 15 | :: | ||
| 16 | :: GNU Lesser General Public License Usage | ||
| 17 | :: Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | :: General Public License version 2.1 as published by the Free Software | ||
| 19 | :: Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | :: packaging of this file. Please review the following information to | ||
| 21 | :: ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | :: will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | :: | ||
| 24 | :: In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | :: rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | :: version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | :: | ||
| 28 | :: If you have questions regarding the use of this file, please contact | ||
| 29 | :: Nokia at qt-info@nokia.com. | ||
| 30 | :: | ||
| 31 | :: | ||
| 32 | :: | ||
| 33 | :: | ||
| 34 | :: | ||
| 35 | :: | ||
| 36 | :: | ||
| 37 | :: | ||
| 38 | :: $QT_END_LICENSE$ | ||
| 39 | :: | ||
| 40 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 41 | call :%1 %2 | ||
| 42 | goto END | ||
| 43 | |||
| 44 | :begin | ||
| 45 | for /F "tokens=1*" %%m in ("%~1") do set IWMAKE_COMPILER=%%~m& set IWMAKE_TMP=%%~n | ||
| 46 | |||
| 47 | if "%IWMAKE_TMP%"=="" set IWMAKE_TMP=build_%IWMAKE_COMPILER% | ||
| 48 | set IWMAKE_BUILD=%IWMAKE_ROOT%\%IWMAKE_TMP% | ||
| 49 | if not exist %IWMAKE_BUILD% mkdir %IWMAKE_BUILD% | ||
| 50 | |||
| 51 | if not "%PATH%"=="" set IWMAKE_OLD_PATH=%PATH% | ||
| 52 | if not "%QMAKESPEC%"=="" set IWMAKE_OLD_QMAKESPEC=%QMAKESPEC% | ||
| 53 | if not "%QTDIR%"=="" set IWMAKE_OLD_QTDIR=%QTDIR% | ||
| 54 | if not "%INCLUDE%"=="" set IWMAKE_OLD_INCLUDE=%INCLUDE% | ||
| 55 | if not "%LIB%"=="" set IWMAKE_OLD_LIB=%LIB% | ||
| 56 | |||
| 57 | set PATH=%IWMAKE_BUILD%\bin;%PATH% | ||
| 58 | set QTDIR=%IWMAKE_BUILD% | ||
| 59 | |||
| 60 | if "%IWMAKE_COMPILER%"=="vs2003" goto VS2003Env | ||
| 61 | if "%IWMAKE_COMPILER%"=="vs2002" goto VS2002Env | ||
| 62 | if "%IWMAKE_COMPILER%"=="vs2005" goto VS2005Env | ||
| 63 | if "%IWMAKE_COMPILER%"=="vc60" goto VC60Env | ||
| 64 | if "%IWMAKE_COMPILER%"=="mingw" goto MinGWEnv | ||
| 65 | goto :eof | ||
| 66 | |||
| 67 | :VS2003Env | ||
| 68 | set QMAKESPEC=win32-msvc.net | ||
| 69 | if not exist "%VS71COMNTOOLS%vsvars32.bat" echo VS2003 not found >> %IWMAKE_LOGFILE% & exit /b 1 | ||
| 70 | call "%VS71COMNTOOLS%vsvars32.bat" >> %IWMAKE_LOGFILE% | ||
| 71 | set IWMAKE_MAKE=nmake | ||
| 72 | goto :eof | ||
| 73 | |||
| 74 | :VS2002Env | ||
| 75 | set QMAKESPEC=win32-msvc.net | ||
| 76 | if not exist "%VSCOMNTOOLS%vsvars32.bat" echo VS2002 not found >> %IWMAKE_LOGFILE% & exit /b 1 | ||
| 77 | call "%VSCOMNTOOLS%vsvars32.bat" >> %IWMAKE_LOGFILE% | ||
| 78 | set IWMAKE_MAKE=nmake | ||
| 79 | goto :eof | ||
| 80 | |||
| 81 | :VS2005Env | ||
| 82 | set QMAKESPEC=win32-msvc2005 | ||
| 83 | if not exist "%VS80COMNTOOLS%vsvars32.bat" echo VS2005 not found >> %IWMAKE_LOGFILE% & exit /b 1 | ||
| 84 | call "%VS80COMNTOOLS%vsvars32.bat" >> %IWMAKE_LOGFILE% | ||
| 85 | set IWMAKE_MAKE=nmake | ||
| 86 | goto :eof | ||
| 87 | |||
| 88 | :VC60Env | ||
| 89 | set QMAKESPEC=win32-msvc | ||
| 90 | if not exist "%ProgramFiles%\Microsoft Visual Studio\VC98\Bin\vcvars32.bat" echo VC60 not found >> %IWMAKE_LOGFILE% & exit /b 1 | ||
| 91 | call "%ProgramFiles%\Microsoft Visual Studio\VC98\Bin\vcvars32.bat" >> %IWMAKE_LOGFILE% | ||
| 92 | set IWMAKE_MAKE=nmake | ||
| 93 | goto :eof | ||
| 94 | |||
| 95 | :MinGWEnv | ||
| 96 | set QMAKESPEC=win32-g++ | ||
| 97 | if not exist %IWMAKE_MINGWPATH%\bin\gcc.exe echo MinGW not found in %IWMAKE_MINGWPATH% >> %IWMAKE_LOGFILE% & exit /b 1 | ||
| 98 | set PATH=%IWMAKE_MINGWPATH%\bin;%PATH% | ||
| 99 | set IWMAKE_MAKE=mingw32-make | ||
| 100 | goto :eof | ||
| 101 | |||
| 102 | :finish | ||
| 103 | if not "%IWMAKE_OLD_PATH%"=="" set PATH=%IWMAKE_OLD_PATH%& set IWMAKE_OLD_PATH= | ||
| 104 | if not "%IWMAKE_OLD_QMAKESPEC%"=="" set QMAKESPEC=%IWMAKE_OLD_QMAKESPEC%& set IWMAKE_OLD_QMAKESPEC= | ||
| 105 | if not "%IWMAKE_OLD_QTDIR%"=="" set QTDIR=%IWMAKE_OLD_QTDIR%& set IWMAKE_OLD_QTDIR= | ||
| 106 | if not "%IWMAKE_OLD_INCLUDE%"=="" set INCLUDE=%IWMAKE_OLD_INCLUDE%& set IWMAKE_OLD_INCLUDE= | ||
| 107 | if not "%IWMAKE_OLD_LIB%"=="" set LIB=%IWMAKE_OLD_LIB%& set IWMAKE_OLD_LIB= | ||
| 108 | goto :eof | ||
| 109 | |||
| 110 | :configure | ||
| 111 | pushd %IWMAKE_BUILD% | ||
| 112 | configure %~1 >> %IWMAKE_LOGFILE% 2>&1 | ||
| 113 | popd | ||
| 114 | goto :eof | ||
| 115 | |||
| 116 | :bin | ||
| 117 | pushd %IWMAKE_BUILD% | ||
| 118 | %IWMAKE_MAKE% %~1 >>%IWMAKE_LOGFILE% 2>&1 | ||
| 119 | popd | ||
| 120 | goto :eof | ||
| 121 | |||
| 122 | :binInDir | ||
| 123 | for /F "tokens=1*" %%m in ("%~1") do set IWMAKE_TMP=%%~m& set IWMAKE_TMP2=%%~n | ||
| 124 | pushd %IWMAKE_BUILD%\%IWMAKE_TMP% | ||
| 125 | %IWMAKE_MAKE% %IWMAKE_TMP2% >> %IWMAKE_LOGFILE% 2>&1 | ||
| 126 | popd | ||
| 127 | goto :eof | ||
| 128 | |||
| 129 | :DBPlugins | ||
| 130 | call "%IWMAKE_SCRIPTDIR%\batch\copy.bat" extsync sql | ||
| 131 | set IWMAKE_SQL_OLD_LIB=%LIB% | ||
| 132 | pushd %IWMAKE_BUILD%\src\plugins\sqldrivers\mysql | ||
| 133 | set LIB=%IWMAKE_ROOT%\sql\mysql\lib\debug;%IWMAKE_SQL_OLD_LIB% | ||
| 134 | qmake "INCLUDEPATH+=%IWMAKE_ROOT%\sql\mysql\include" "LIBS+=libmysql.lib ws2_32.lib advapi32.lib user32.lib" >> %IWMAKE_LOGFILE% 2>&1 | ||
| 135 | %IWMAKE_MAKE% debug >> %IWMAKE_LOGFILE% 2>&1 | ||
| 136 | set LIB=%IWMAKE_ROOT%\sql\mysql\lib\opt;%IWMAKE_SQL_OLD_LIB% | ||
| 137 | qmake "INCLUDEPATH+=%IWMAKE_ROOT%\sql\mysql\include" "LIBS+=libmysql.lib ws2_32.lib advapi32.lib" >> %IWMAKE_LOGFILE% 2>&1 | ||
| 138 | %IWMAKE_MAKE% release >> %IWMAKE_LOGFILE% 2>&1 | ||
| 139 | popd | ||
| 140 | |||
| 141 | set LIB=%IWMAKE_ROOT%\sql\%IWMAKE_COMPILER%;%IWMAKE_SQL_OLD_LIB% | ||
| 142 | pushd %IWMAKE_BUILD%\src\plugins\sqldrivers\psql | ||
| 143 | qmake "INCLUDEPATH+=%IWMAKE_ROOT%\sql\include\psql" "LIBS+=libpqd.lib ws2_32.lib advapi32.lib shfolder.lib shell32.lib" >> %IWMAKE_LOGFILE% 2>&1 | ||
| 144 | %IWMAKE_MAKE% debug >> %IWMAKE_LOGFILE% 2>&1 | ||
| 145 | qmake "INCLUDEPATH+=%IWMAKE_ROOT%\sql\include\psql" "LIBS+=libpq.lib ws2_32.lib advapi32.lib shfolder.lib shell32.lib" >> %IWMAKE_LOGFILE% 2>&1 | ||
| 146 | %IWMAKE_MAKE% release >> %IWMAKE_LOGFILE% 2>&1 | ||
| 147 | popd | ||
| 148 | set LIB=%IWMAKE_SQL_OLD_LIB% | ||
| 149 | set IWMAKE_SQL_OLD_LIB= | ||
| 150 | goto :eof | ||
| 151 | |||
| 152 | :root | ||
| 153 | set IWMAKE_BUILD=%~1 | ||
| 154 | if not exist %IWMAKE_BUILD% mkdir %IWMAKE_BUILD% | ||
| 155 | goto :eof | ||
| 156 | |||
| 157 | :END |
tools/installer/batch/copy.bat
(0 / 121)
|   | |||
| 1 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 2 | :: | ||
| 3 | :: Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | :: All rights reserved. | ||
| 5 | :: Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | :: | ||
| 7 | :: This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | :: | ||
| 9 | :: $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | :: No Commercial Usage | ||
| 11 | :: This file contains pre-release code and may not be distributed. | ||
| 12 | :: You may use this file in accordance with the terms and conditions | ||
| 13 | :: contained in the Technology Preview License Agreement accompanying | ||
| 14 | :: this package. | ||
| 15 | :: | ||
| 16 | :: GNU Lesser General Public License Usage | ||
| 17 | :: Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | :: General Public License version 2.1 as published by the Free Software | ||
| 19 | :: Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | :: packaging of this file. Please review the following information to | ||
| 21 | :: ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | :: will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | :: | ||
| 24 | :: In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | :: rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | :: version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | :: | ||
| 28 | :: If you have questions regarding the use of this file, please contact | ||
| 29 | :: Nokia at qt-info@nokia.com. | ||
| 30 | :: | ||
| 31 | :: | ||
| 32 | :: | ||
| 33 | :: | ||
| 34 | :: | ||
| 35 | :: | ||
| 36 | :: | ||
| 37 | :: | ||
| 38 | :: $QT_END_LICENSE$ | ||
| 39 | :: | ||
| 40 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 41 | call :%1 %2 | ||
| 42 | goto END | ||
| 43 | |||
| 44 | :dest | ||
| 45 | set IWMAKE_OUTDIR=%IWMAKE_ROOT%\%~1 | ||
| 46 | if not exist %IWMAKE_OUTDIR% mkdir %IWMAKE_OUTDIR% | ||
| 47 | goto :eof | ||
| 48 | |||
| 49 | :src | ||
| 50 | set IWMAKE_SRCDIR=%IWMAKE_ROOT%\%~1 | ||
| 51 | if not exist %IWMAKE_SRCDIR% mkdir %IWMAKE_SRCDIR% | ||
| 52 | goto :eof | ||
| 53 | |||
| 54 | :destAbs | ||
| 55 | set IWMAKE_OUTDIR=%1 | ||
| 56 | if not exist %IWMAKE_OUTDIR% mkdir %IWMAKE_OUTDIR% | ||
| 57 | goto :eof | ||
| 58 | |||
| 59 | :srcAbs | ||
| 60 | set IWMAKE_SRCDIR=%1 | ||
| 61 | if not exist %IWMAKE_SRCDIR% mkdir %IWMAKE_SRCDIR% | ||
| 62 | goto :eof | ||
| 63 | |||
| 64 | :extsync | ||
| 65 | if exist %IWMAKE_ROOT%\%~1 rd /S /Q %IWMAKE_ROOT%\%~1 >> %IWMAKE_LOGFILE% | ||
| 66 | xcopy /H /Y /Q /I /R /E %IWMAKE_EXTERNAL%\%~1 %IWMAKE_ROOT%\%~1 >> %IWMAKE_LOGFILE% | ||
| 67 | goto :eof | ||
| 68 | |||
| 69 | :all | ||
| 70 | xcopy /H /Y /Q /I /R /S %IWMAKE_SRCDIR%\%~1 %IWMAKE_OUTDIR%\ >> %IWMAKE_LOGFILE% | ||
| 71 | goto :eof | ||
| 72 | |||
| 73 | :filesEx | ||
| 74 | for /F "tokens=1,2*" %%m in ("%~1") do set IWMAKE_TMP=%%~m& set IWMAKE_TMP2=%%~n& set IWMAKE_TMP3=%%~o | ||
| 75 | echo %IWMAKE_TMP3% > %IWMAKE_ROOT%\iwmake_exclude | ||
| 76 | xcopy /H /Y /Q /I /R /S /EXCLUDE:%IWMAKE_ROOT%\iwmake_exclude %IWMAKE_SRCDIR%\%IWMAKE_TMP% %IWMAKE_OUTDIR%\%IWMAKE_TMP2% >> %IWMAKE_LOGFILE% | ||
| 77 | goto :eof | ||
| 78 | |||
| 79 | :file | ||
| 80 | set IWMAKE_TMP=%~1 | ||
| 81 | set IWMAKE_TMP2=%~nx1 | ||
| 82 | echo set IWMAKE_TMP3=%%IWMAKE_TMP:%IWMAKE_TMP2%=%%>"%IWMAKE_ROOT%\iwmake_tmp.bat" | ||
| 83 | call %IWMAKE_ROOT%\iwmake_tmp.bat | ||
| 84 | if not exist "%IWMAKE_OUTDIR%\%IWMAKE_TMP3%" mkdir "%IWMAKE_OUTDIR%\%IWMAKE_TMP3%" | ||
| 85 | xcopy /H /Y /Q /I /R %IWMAKE_SRCDIR%\%IWMAKE_TMP% %IWMAKE_OUTDIR%\%IWMAKE_TMP3% >> %IWMAKE_LOGFILE% | ||
| 86 | goto :eof | ||
| 87 | |||
| 88 | :fileAndRename | ||
| 89 | for /F "tokens=1*" %%m in ("%~1") do set IWMAKE_TMP=%%~m& set IWMAKE_TMP2=%%~n& set IWMAKE_TMP4=%%~nxn | ||
| 90 | echo set IWMAKE_TMP3=%%IWMAKE_TMP2:%IWMAKE_TMP4%=%%>"%IWMAKE_ROOT%\iwmake_tmp.bat" | ||
| 91 | call %IWMAKE_ROOT%\iwmake_tmp.bat | ||
| 92 | if not exist "%IWMAKE_OUTDIR%\%IWMAKE_TMP3%" mkdir "%IWMAKE_OUTDIR%\%IWMAKE_TMP3%" | ||
| 93 | echo > %IWMAKE_OUTDIR%\%IWMAKE_TMP2% | ||
| 94 | xcopy /H /Y /Q /R %IWMAKE_SRCDIR%\%IWMAKE_TMP% %IWMAKE_OUTDIR%\%IWMAKE_TMP2% >> %IWMAKE_LOGFILE% | ||
| 95 | set IWMAKE_TMP4= | ||
| 96 | goto :eof | ||
| 97 | |||
| 98 | :files | ||
| 99 | for /F "tokens=1*" %%m in ("%~1") do set IWMAKE_TMP=%%~m& set IWMAKE_TMP2=%%~n | ||
| 100 | if not exist "%IWMAKE_OUTDIR%\%IWMAKE_TMP2%" mkdir "%IWMAKE_OUTDIR%\%IWMAKE_TMP2%" | ||
| 101 | xcopy /H /Y /Q /I /R /S %IWMAKE_SRCDIR%\%IWMAKE_TMP% %IWMAKE_OUTDIR%\%IWMAKE_TMP2% >> %IWMAKE_LOGFILE% | ||
| 102 | goto :eof | ||
| 103 | |||
| 104 | :runtime | ||
| 105 | for /F "tokens=1*" %%m in ("%~1") do set IWMAKE_TMP=%%~m& set IWMAKE_TMP2=%%~n | ||
| 106 | if "%IWMAKE_TMP2%" == "" set IWMAKE_TMP2=bin | ||
| 107 | xcopy /H /Y /Q /I /R %SystemRoot%\system32\msvcr%IWMAKE_TMP%.dll %IWMAKE_OUTDIR%\%IWMAKE_TMP2%\ >> %IWMAKE_LOGFILE% | ||
| 108 | xcopy /H /Y /Q /I /R %SystemRoot%\system32\msvcp%IWMAKE_TMP%.dll %IWMAKE_OUTDIR%\%IWMAKE_TMP2%\ >> %IWMAKE_LOGFILE% | ||
| 109 | goto :eof | ||
| 110 | |||
| 111 | :syncqt | ||
| 112 | pushd %IWMAKE_OUTDIR% | ||
| 113 | if exist "include" rd /S /Q include | ||
| 114 | if not "%QTDIR%"=="" set IWMAKE_OLD_QTDIR=%QTDIR% | ||
| 115 | set QTDIR=%IWMAKE_OUTDIR% | ||
| 116 | "%IWMAKE_PERLPATH%\perl" %QTDIR%\bin\syncqt -copy >> %IWMAKE_LOGFILE% 2>&1 | ||
| 117 | if not "%IWMAKE_OLD_QTDIR%"=="" set QTDIR=%IWMAKE_OLD_QTDIR% | ||
| 118 | popd | ||
| 119 | goto :eof | ||
| 120 | |||
| 121 | :END |
tools/installer/batch/delete.bat
(0 / 73)
|   | |||
| 1 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 2 | :: | ||
| 3 | :: Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | :: All rights reserved. | ||
| 5 | :: Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | :: | ||
| 7 | :: This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | :: | ||
| 9 | :: $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | :: No Commercial Usage | ||
| 11 | :: This file contains pre-release code and may not be distributed. | ||
| 12 | :: You may use this file in accordance with the terms and conditions | ||
| 13 | :: contained in the Technology Preview License Agreement accompanying | ||
| 14 | :: this package. | ||
| 15 | :: | ||
| 16 | :: GNU Lesser General Public License Usage | ||
| 17 | :: Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | :: General Public License version 2.1 as published by the Free Software | ||
| 19 | :: Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | :: packaging of this file. Please review the following information to | ||
| 21 | :: ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | :: will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | :: | ||
| 24 | :: In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | :: rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | :: version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | :: | ||
| 28 | :: If you have questions regarding the use of this file, please contact | ||
| 29 | :: Nokia at qt-info@nokia.com. | ||
| 30 | :: | ||
| 31 | :: | ||
| 32 | :: | ||
| 33 | :: | ||
| 34 | :: | ||
| 35 | :: | ||
| 36 | :: | ||
| 37 | :: | ||
| 38 | :: $QT_END_LICENSE$ | ||
| 39 | :: | ||
| 40 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 41 | call :%1 %2 | ||
| 42 | goto END | ||
| 43 | |||
| 44 | :destDir | ||
| 45 | if exist "%IWMAKE_OUTDIR%\%~1" rd /S /Q %IWMAKE_OUTDIR%\%~1 | ||
| 46 | goto :eof | ||
| 47 | |||
| 48 | :dir | ||
| 49 | if exist "%IWMAKE_ROOT%\%~1" rd /S /Q %IWMAKE_ROOT%\%~1 | ||
| 50 | goto :eof | ||
| 51 | |||
| 52 | :dirAbs | ||
| 53 | if exist "%~1" rd /S /Q %~1 | ||
| 54 | goto :eof | ||
| 55 | |||
| 56 | :file | ||
| 57 | del /Q /F %IWMAKE_OUTDIR%\%~1 >> %IWMAKE_LOGFILE% 2>&1 | ||
| 58 | exit /b 0 | ||
| 59 | goto :eof | ||
| 60 | |||
| 61 | :files | ||
| 62 | del /S /Q /F %IWMAKE_OUTDIR%\%~1 >> %IWMAKE_LOGFILE% 2>&1 | ||
| 63 | exit /b 0 | ||
| 64 | goto :eof | ||
| 65 | |||
| 66 | :line | ||
| 67 | for /F "tokens=1*" %%m in ("%~1") do set IWMAKE_TMP=%%~m& set IWMAKE_TMP2=%%~n | ||
| 68 | if exist "%IWMAKE_ROOT%\tmp_line.txt" del /Q /F "%IWMAKE_ROOT%\tmp_line.txt" >> %IWMAKE_LOGFILE% | ||
| 69 | type "%IWMAKE_ROOT%\%IWMAKE_TMP%" | find /V "%IWMAKE_TMP2%" >> "%IWMAKE_ROOT%\tmp_line.txt" | ||
| 70 | xcopy /Y /Q /R %IWMAKE_ROOT%\tmp_line.txt %IWMAKE_ROOT%\%IWMAKE_TMP% >> %IWMAKE_LOGFILE% | ||
| 71 | goto :eof | ||
| 72 | |||
| 73 | :END |
tools/installer/batch/env.bat
(0 / 141)
|   | |||
| 1 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 2 | :: | ||
| 3 | :: Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | :: All rights reserved. | ||
| 5 | :: Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | :: | ||
| 7 | :: This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | :: | ||
| 9 | :: $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | :: No Commercial Usage | ||
| 11 | :: This file contains pre-release code and may not be distributed. | ||
| 12 | :: You may use this file in accordance with the terms and conditions | ||
| 13 | :: contained in the Technology Preview License Agreement accompanying | ||
| 14 | :: this package. | ||
| 15 | :: | ||
| 16 | :: GNU Lesser General Public License Usage | ||
| 17 | :: Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | :: General Public License version 2.1 as published by the Free Software | ||
| 19 | :: Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | :: packaging of this file. Please review the following information to | ||
| 21 | :: ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | :: will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | :: | ||
| 24 | :: In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | :: rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | :: version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | :: | ||
| 28 | :: If you have questions regarding the use of this file, please contact | ||
| 29 | :: Nokia at qt-info@nokia.com. | ||
| 30 | :: | ||
| 31 | :: | ||
| 32 | :: | ||
| 33 | :: | ||
| 34 | :: | ||
| 35 | :: | ||
| 36 | :: | ||
| 37 | :: | ||
| 38 | :: $QT_END_LICENSE$ | ||
| 39 | :: | ||
| 40 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 41 | call :%1 %2 | ||
| 42 | goto END | ||
| 43 | |||
| 44 | :setglobals | ||
| 45 | set IWMAKE_PARSESECTION=1 | ||
| 46 | set IWMAKE_MINGWPATH=c:\MinGW\bin | ||
| 47 | set IWMAKE_STARTDIR=%CD% | ||
| 48 | set IWMAKE_NSISCONF=%IWMAKE_SCRIPTDIR%\nsis\config.nsh | ||
| 49 | set IWMAKE_ROOT=c:\package | ||
| 50 | set IWMAKE_OUTDIR=%IWMAKE_ROOT% | ||
| 51 | set IWMAKE_SRCDIR=%IWMAKE_ROOT% | ||
| 52 | set IWMAKE_EXTRACTDEST=%IWMAKE_ROOT% | ||
| 53 | set IWMAKE_NSISPATH=%PROGRAMFILES%\NSIS | ||
| 54 | call %IWMAKE_SCRIPTDIR%\batch\log.bat fileAbs "%IWMAKE_STARTDIR%\log.txt" | ||
| 55 | goto :eof | ||
| 56 | |||
| 57 | :signPath | ||
| 58 | set IWMAKE_SIGNPATH=%~1 | ||
| 59 | goto :eof | ||
| 60 | |||
| 61 | :wgetPath | ||
| 62 | set IWMAKE_WGET=%~1 | ||
| 63 | goto :eof | ||
| 64 | |||
| 65 | :wgetDir | ||
| 66 | set IWMAKE_WGET=%IWMAKE_ROOT%\%~1 | ||
| 67 | goto :eof | ||
| 68 | |||
| 69 | :NSISPath | ||
| 70 | set IWMAKE_NSISPATH=%~1 | ||
| 71 | goto :eof | ||
| 72 | |||
| 73 | :PerlPath | ||
| 74 | set IWMAKE_PERLPATH=%~1 | ||
| 75 | goto :eof | ||
| 76 | |||
| 77 | :MinGWPath | ||
| 78 | set IWMAKE_MINGWPATH=%~1 | ||
| 79 | goto :eof | ||
| 80 | |||
| 81 | :unzipApp | ||
| 82 | set IWMAKE_UNZIPAPP=%~1 | ||
| 83 | goto :eof | ||
| 84 | |||
| 85 | :releaseLocation | ||
| 86 | set IWMAKE_WGETUSER= | ||
| 87 | set IWMAKE_WGETPASS= | ||
| 88 | for /F "tokens=1,2*" %%m in ("%~1") do set IWMAKE_TMP=%%~m& if not "%%~n"=="" set IWMAKE_TMP2=%%~n& if not "%%~o"=="" set IWMAKE_TMP3=%%~o | ||
| 89 | if not "%IWMAKE_TMP2%"=="" set IWMAKE_WGETUSER=--http-user=%IWMAKE_TMP2% | ||
| 90 | if not "%IWMAKE_TMP3%"=="" set IWMAKE_WGETPASS=--http-passwd=%IWMAKE_TMP3% | ||
| 91 | set IWMAKE_RELEASELOCATION=%IWMAKE_TMP% | ||
| 92 | goto :eof | ||
| 93 | |||
| 94 | :removeglobals | ||
| 95 | if not "%IWMAKE_OLD_PATH%"=="" call %IWMAKE_SCRIPTDIR%\batch\build.bat finish | ||
| 96 | set IWMAKE_RELEASELOCATION= | ||
| 97 | set IWMAKE_NSISPATH= | ||
| 98 | set IWMAKE_SECTION= | ||
| 99 | set IWMAKE_WGET= | ||
| 100 | set IWMAKE_WGETUSER= | ||
| 101 | set IWMAKE_WGETPASS= | ||
| 102 | set IWMAKE_UNZIPAPP= | ||
| 103 | set IWMAKE_MINGWPATH= | ||
| 104 | set IWMAKE_MAKE= | ||
| 105 | set IWMAKE_PERLPATH= | ||
| 106 | set IWMAKE_STARTDIR= | ||
| 107 | set IWMAKE_SCRIPTDIR= | ||
| 108 | set IWMAKE_NSISCONF= | ||
| 109 | set IWMAKE_RESULT= | ||
| 110 | set IWMAKE_TMP= | ||
| 111 | set IWMAKE_TMP2= | ||
| 112 | set IWMAKE_TMP3= | ||
| 113 | set IWMAKE_STATUS= | ||
| 114 | set IWMAKE_LOGFILE= | ||
| 115 | set IWMAKE_BUILD= | ||
| 116 | set IWMAKE_ROOT= | ||
| 117 | set IWMAKE_OUTDIR= | ||
| 118 | set IWMAKE_EXTERNAL= | ||
| 119 | set IWMAKE_OLD_PATH= | ||
| 120 | set IWMAKE_OLD_QMAKESPEC= | ||
| 121 | set IWMAKE_OLD_QTDIR= | ||
| 122 | set IWMAKE_OLD_INCLUDE= | ||
| 123 | set IWMAKE_OLD_LIB= | ||
| 124 | set IWMAKE_COMPILER= | ||
| 125 | set IWMAKE_SRCDIR= | ||
| 126 | set IWMAKE_EXTRACTSRC= | ||
| 127 | set IWMAKE_EXTRACTDEST= | ||
| 128 | set IWMAKE_PARSESECTION= | ||
| 129 | set IWMAKE_OUTPUT_FILE= | ||
| 130 | set IWMAKE_SIGNPATH= | ||
| 131 | goto :eof | ||
| 132 | |||
| 133 | :root | ||
| 134 | set IWMAKE_ROOT=%~1 | ||
| 135 | goto :eof | ||
| 136 | |||
| 137 | :extroot | ||
| 138 | set IWMAKE_EXTERNAL=%~1 | ||
| 139 | goto :eof | ||
| 140 | |||
| 141 | :END |
|   | |||
| 1 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 2 | :: | ||
| 3 | :: Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | :: All rights reserved. | ||
| 5 | :: Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | :: | ||
| 7 | :: This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | :: | ||
| 9 | :: $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | :: No Commercial Usage | ||
| 11 | :: This file contains pre-release code and may not be distributed. | ||
| 12 | :: You may use this file in accordance with the terms and conditions | ||
| 13 | :: contained in the Technology Preview License Agreement accompanying | ||
| 14 | :: this package. | ||
| 15 | :: | ||
| 16 | :: GNU Lesser General Public License Usage | ||
| 17 | :: Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | :: General Public License version 2.1 as published by the Free Software | ||
| 19 | :: Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | :: packaging of this file. Please review the following information to | ||
| 21 | :: ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | :: will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | :: | ||
| 24 | :: In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | :: rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | :: version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | :: | ||
| 28 | :: If you have questions regarding the use of this file, please contact | ||
| 29 | :: Nokia at qt-info@nokia.com. | ||
| 30 | :: | ||
| 31 | :: | ||
| 32 | :: | ||
| 33 | :: | ||
| 34 | :: | ||
| 35 | :: | ||
| 36 | :: | ||
| 37 | :: | ||
| 38 | :: $QT_END_LICENSE$ | ||
| 39 | :: | ||
| 40 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 41 | call :%1 %2 | ||
| 42 | goto END | ||
| 43 | |||
| 44 | :dest | ||
| 45 | set IWMAKE_EXTRACTDEST=%IWMAKE_ROOT%\%~1 | ||
| 46 | goto :eof | ||
| 47 | |||
| 48 | :extUnpack | ||
| 49 | set IWMAKE_EXTRACTSRC=%~n1 | ||
| 50 | pushd %IWMAKE_ROOT% | ||
| 51 | if exist "%IWMAKE_EXTRACTSRC%.zip" del /Q /F "%IWMAKE_EXTRACTSRC%.zip" | ||
| 52 | %IWMAKE_WGET%\wget %IWMAKE_WGETUSER% %IWMAKE_WGETPASS% %IWMAKE_RELEASELOCATION%/%IWMAKE_EXTRACTSRC%.zip >> %IWMAKE_LOGFILE% 2>&1 | ||
| 53 | popd | ||
| 54 | call :unpack "%~1" | ||
| 55 | goto :eof | ||
| 56 | |||
| 57 | :unpack | ||
| 58 | set IWMAKE_EXTRACTSRC=%~n1 | ||
| 59 | pushd %IWMAKE_ROOT% | ||
| 60 | if exist "%IWMAKE_EXTRACTDEST%" rd /S /Q %IWMAKE_EXTRACTDEST% >> %IWMAKE_LOGFILE% 2>&1 | ||
| 61 | if exist "%IWMAKE_EXTRACTSRC%" rd /S /Q %IWMAKE_EXTRACTSRC% >> %IWMAKE_LOGFILE% 2>&1 | ||
| 62 | %IWMAKE_UNZIPAPP% %IWMAKE_EXTRACTSRC%.zip >> %IWMAKE_LOGFILE% | ||
| 63 | popd | ||
| 64 | move %IWMAKE_ROOT%\%IWMAKE_EXTRACTSRC% %IWMAKE_EXTRACTDEST% >> %IWMAKE_LOGFILE% | ||
| 65 | goto :eof | ||
| 66 | |||
| 67 | :extPatch | ||
| 68 | pushd %IWMAKE_ROOT% | ||
| 69 | if exist "%~1" del /Q /F "%~1" | ||
| 70 | %IWMAKE_WGET%\wget %IWMAKE_WGETUSER% %IWMAKE_WGETPASS% %IWMAKE_RELEASELOCATION%/%~1 >> %IWMAKE_LOGFILE% 2>&1 | ||
| 71 | popd | ||
| 72 | call :patch "%~1" | ||
| 73 | goto :eof | ||
| 74 | |||
| 75 | :patch | ||
| 76 | pushd %IWMAKE_ROOT% | ||
| 77 | %IWMAKE_UNZIPAPP% %~1 >> %IWMAKE_LOGFILE% | ||
| 78 | popd | ||
| 79 | xcopy /R /I /S /Q /Y %IWMAKE_ROOT%\%IWMAKE_EXTRACTSRC%\*.* %IWMAKE_EXTRACTDEST%\ >> %IWMAKE_LOGFILE% | ||
| 80 | rd /S /Q %IWMAKE_ROOT%\%IWMAKE_EXTRACTSRC% >> %IWMAKE_LOGFILE% | ||
| 81 | goto :eof | ||
| 82 | |||
| 83 | :END |
tools/installer/batch/installer.bat
(0 / 247)
|   | |||
| 1 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 2 | :: | ||
| 3 | :: Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | :: All rights reserved. | ||
| 5 | :: Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | :: | ||
| 7 | :: This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | :: | ||
| 9 | :: $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | :: No Commercial Usage | ||
| 11 | :: This file contains pre-release code and may not be distributed. | ||
| 12 | :: You may use this file in accordance with the terms and conditions | ||
| 13 | :: contained in the Technology Preview License Agreement accompanying | ||
| 14 | :: this package. | ||
| 15 | :: | ||
| 16 | :: GNU Lesser General Public License Usage | ||
| 17 | :: Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | :: General Public License version 2.1 as published by the Free Software | ||
| 19 | :: Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | :: packaging of this file. Please review the following information to | ||
| 21 | :: ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | :: will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | :: | ||
| 24 | :: In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | :: rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | :: version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | :: | ||
| 28 | :: If you have questions regarding the use of this file, please contact | ||
| 29 | :: Nokia at qt-info@nokia.com. | ||
| 30 | :: | ||
| 31 | :: | ||
| 32 | :: | ||
| 33 | :: | ||
| 34 | :: | ||
| 35 | :: | ||
| 36 | :: | ||
| 37 | :: | ||
| 38 | :: $QT_END_LICENSE$ | ||
| 39 | :: | ||
| 40 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 41 | call :%1 %2 | ||
| 42 | goto END | ||
| 43 | |||
| 44 | :begin | ||
| 45 | call :reset | ||
| 46 | echo !define PRODUCT_NAME "%~1" >> %IWMAKE_NSISCONF% | ||
| 47 | echo !define INSTALL_ROOT "%IWMAKE_ROOT%" >> %IWMAKE_NSISCONF% | ||
| 48 | goto :eof | ||
| 49 | |||
| 50 | :output | ||
| 51 | set IWMAKE_OUTPUT_FILE=%~1 | ||
| 52 | echo !define OUTPUT_FILE "%~1" >> %IWMAKE_NSISCONF% | ||
| 53 | goto :eof | ||
| 54 | |||
| 55 | :module | ||
| 56 | call "%IWMAKE_SCRIPTDIR%\batch\toupper.bat" %~1 | ||
| 57 | echo !define MODULE_%IWMAKE_RESULT% >> %IWMAKE_NSISCONF% | ||
| 58 | goto :eof | ||
| 59 | |||
| 60 | :enable | ||
| 61 | call "%IWMAKE_SCRIPTDIR%\batch\toupper.bat" %~1 | ||
| 62 | echo !define USE_%IWMAKE_RESULT:"=% >> %IWMAKE_NSISCONF% | ||
| 63 | goto :eof | ||
| 64 | |||
| 65 | :disable | ||
| 66 | call "%IWMAKE_SCRIPTDIR%\batch\toupper.bat" %~1 | ||
| 67 | echo !undef USE_%IWMAKE_RESULT:"=% >> %IWMAKE_NSISCONF% | ||
| 68 | goto :eof | ||
| 69 | |||
| 70 | :startmenu | ||
| 71 | echo !define DEFAULT_STARTMENU_STRING "%~1" >> %IWMAKE_NSISCONF% | ||
| 72 | goto :eof | ||
| 73 | |||
| 74 | :reset | ||
| 75 | if exist "%IWMAKE_NSISCONF%" del /Q /F "%IWMAKE_NSISCONF%" | ||
| 76 | goto :eof | ||
| 77 | |||
| 78 | :instdir | ||
| 79 | for /F "tokens=1,2*" %%m in ("%~1") do set IWMAKE_TMP=%%~m& set IWMAKE_TMP2=%%~n& set IWMAKE_TMP3="%%~o" | ||
| 80 | call "%IWMAKE_SCRIPTDIR%\batch\toupper.bat" %IWMAKE_TMP% | ||
| 81 | echo !define INSTDIR_%IWMAKE_TMP2% %IWMAKE_RESULT:"=% >> "%IWMAKE_NSISCONF%" | ||
| 82 | echo !define INSTDIR_%IWMAKE_TMP2%_TEXT %IWMAKE_TMP3% >> "%IWMAKE_NSISCONF%" | ||
| 83 | goto :eof | ||
| 84 | |||
| 85 | :version | ||
| 86 | echo !define PRODUCT_VERSION "%~1" >> "%IWMAKE_NSISCONF%" | ||
| 87 | goto :eof | ||
| 88 | |||
| 89 | :readme | ||
| 90 | echo !define README_FILE "%~1" >> "%IWMAKE_NSISCONF%" | ||
| 91 | goto :eof | ||
| 92 | |||
| 93 | :licenseFile | ||
| 94 | echo !define LICENSE_FILE "%~1" >> "%IWMAKE_NSISCONF%" | ||
| 95 | goto :eof | ||
| 96 | |||
| 97 | :runfunction | ||
| 98 | echo !define RUN_FUNCTION "%~1" >> "%IWMAKE_NSISCONF%" | ||
| 99 | goto :eof | ||
| 100 | |||
| 101 | :readmefunction | ||
| 102 | echo !define README_FUNCTION "%~1" >> "%IWMAKE_NSISCONF%" | ||
| 103 | goto :eof | ||
| 104 | |||
| 105 | :welcomenote | ||
| 106 | echo !define WELCOME_NOTE "%~1" >> "%IWMAKE_NSISCONF%" | ||
| 107 | goto :eof | ||
| 108 | |||
| 109 | :updateplugins | ||
| 110 | call "%IWMAKE_SCRIPTDIR%\batch\copy.bat" extsync INetLoad | ||
| 111 | xcopy /Q /Y /R "%IWMAKE_ROOT%\INetLoad\INetLoad.dll" "%IWMAKE_NSISPATH%\Plugins\" >> %IWMAKE_LOGFILE% | ||
| 112 | :: xcopy /Q /Y /R "%IWMAKE_SCRIPTDIR%\nsis\qtnsisext\qtnsisext.dll" "%IWMAKE_NSISPATH%\Plugins\" >> %IWMAKE_LOGFILE% | ||
| 113 | goto :eof | ||
| 114 | |||
| 115 | :defineDir | ||
| 116 | for /F "tokens=1,2*" %%m in ("%~1") do set IWMAKE_TMP=%%~m& set IWMAKE_TMP2=%%~n& set IWMAKE_TMP3=%%~o | ||
| 117 | call "%IWMAKE_SCRIPTDIR%\batch\toupper.bat" %IWMAKE_TMP% | ||
| 118 | set IWMAKE_TMP=%IWMAKE_RESULT% | ||
| 119 | call "%IWMAKE_SCRIPTDIR%\batch\toupper.bat" %IWMAKE_TMP2% | ||
| 120 | set IWMAKE_TMP2=%IWMAKE_RESULT% | ||
| 121 | echo !define MODULE_%IWMAKE_TMP%_%IWMAKE_TMP2% "%IWMAKE_ROOT%\%IWMAKE_TMP3%" >> "%IWMAKE_NSISCONF%" | ||
| 122 | goto :eof | ||
| 123 | |||
| 124 | :define | ||
| 125 | for /F "tokens=1,2*" %%m in ("%~1") do set IWMAKE_TMP=%%~m& set IWMAKE_TMP2=%%~n& set IWMAKE_TMP3="%%~o" | ||
| 126 | call "%IWMAKE_SCRIPTDIR%\batch\toupper.bat" %IWMAKE_TMP% | ||
| 127 | set IWMAKE_TMP=%IWMAKE_RESULT% | ||
| 128 | call "%IWMAKE_SCRIPTDIR%\batch\toupper.bat" %IWMAKE_TMP2% | ||
| 129 | set IWMAKE_TMP2=%IWMAKE_RESULT% | ||
| 130 | if %IWMAKE_TMP3%=="" set IWMAKE_TMP3= | ||
| 131 | echo !define MODULE_%IWMAKE_TMP%_%IWMAKE_TMP2% %IWMAKE_TMP3% >> "%IWMAKE_NSISCONF%" | ||
| 132 | goto :eof | ||
| 133 | |||
| 134 | :src | ||
| 135 | for /F "tokens=1*" %%m in ("%~1") do set IWMAKE_TMP=%%~m& set IWMAKE_TMP2=%%~n | ||
| 136 | call "%IWMAKE_SCRIPTDIR%\batch\toupper.bat" %IWMAKE_TMP% | ||
| 137 | set IWMAKE_TMP=%IWMAKE_RESULT% | ||
| 138 | set IWMAKE_TMP3="%IWMAKE_ROOT%\%IWMAKE_TMP2%" | ||
| 139 | echo !define MODULE_%IWMAKE_TMP%_ROOT %IWMAKE_TMP3% >> "%IWMAKE_NSISCONF%" | ||
| 140 | goto :eof | ||
| 141 | |||
| 142 | :buildDir | ||
| 143 | for /F "tokens=1*" %%m in ("%~1") do set IWMAKE_TMP=%%~m& set IWMAKE_TMP2=%%~n | ||
| 144 | call "%IWMAKE_SCRIPTDIR%\batch\toupper.bat" %IWMAKE_TMP% | ||
| 145 | set IWMAKE_TMP=%IWMAKE_RESULT% | ||
| 146 | set IWMAKE_TMP3="%IWMAKE_ROOT%\%IWMAKE_TMP2%" | ||
| 147 | echo !define MODULE_%IWMAKE_TMP%_BUILDDIR %IWMAKE_TMP3% >> "%IWMAKE_NSISCONF%" | ||
| 148 | for /F "eol=- tokens=1,2,3" %%m in ('%SystemRoot%\system32\find "QT_PACKAGEDATE_STR" %IWMAKE_ROOT%\%IWMAKE_TMP2%\src\corelib\global\qglobal.h') do echo !define MODULE_LICENSECHECK_PACKAGEDATE %%o >> "%IWMAKE_NSISCONF%" | ||
| 149 | goto :eof | ||
| 150 | |||
| 151 | :compile | ||
| 152 | call :required | ||
| 153 | pushd %IWMAKE_SCRIPTDIR%\nsis | ||
| 154 | "%IWMAKE_NSISPATH%\makensis.exe" installer.nsi >> %IWMAKE_LOGFILE% | ||
| 155 | popd | ||
| 156 | goto :eof | ||
| 157 | |||
| 158 | :required | ||
| 159 | call :setrequired PRODUCT_NAME | ||
| 160 | call :setrequired INSTALL_ROOT | ||
| 161 | call :setrequired PRODUCT_VERSION | ||
| 162 | call :setrequired OUTPUT_FILE | ||
| 163 | call :setrequired INSTDIR_0 | ||
| 164 | call :setrequired DEFAULT_STARTMENU_STRING | ||
| 165 | goto :eof | ||
| 166 | |||
| 167 | :setrequired | ||
| 168 | echo !ifndef %1 >> "%IWMAKE_NSISCONF%" | ||
| 169 | echo !error "%1 must be in the .conf file..." >> "%IWMAKE_NSISCONF%" | ||
| 170 | echo !endif >> "%IWMAKE_NSISCONF%" | ||
| 171 | goto :eof | ||
| 172 | |||
| 173 | :makeFileList | ||
| 174 | for /F "tokens=1*" %%m in ("%~1") do set IWMAKE_TMP=%%~m& set IWMAKE_TMP2=%%~n | ||
| 175 | call "%IWMAKE_SCRIPTDIR%\batch\toupper.bat" %IWMAKE_TMP% | ||
| 176 | set IWMAKE_TMP=%IWMAKE_RESULT% | ||
| 177 | set IWMAKE_TMP3="%IWMAKE_ROOT%\%IWMAKE_TMP2%" | ||
| 178 | |||
| 179 | |||
| 180 | echo !macro MODULE_%IWMAKE_TMP%_INSTALLFILES >> "%IWMAKE_NSISCONF%" | ||
| 181 | |||
| 182 | pushd %IWMAKE_TMP3% | ||
| 183 | |||
| 184 | echo set IWMAKE_TMP2=%%IWMAKE_TMP2:%CD%\=%% > "%IWMAKE_ROOT%\iwmake_tmp.bat" | ||
| 185 | |||
| 186 | dir /AD /B /S | %SystemRoot%\system32\sort /R > "%IWMAKE_ROOT%\iwmake_tmp.txt" | ||
| 187 | for /F "tokens=1" %%m in (%IWMAKE_ROOT%\iwmake_tmp.txt) do call :addInstallDirectory "%%m" | ||
| 188 | |||
| 189 | |||
| 190 | dir /A-D /B /S > "%IWMAKE_ROOT%\iwmake_tmp.txt" | ||
| 191 | for /F "tokens=1" %%m in (%IWMAKE_ROOT%\iwmake_tmp.txt) do call :addInstallFile "%%m" | ||
| 192 | |||
| 193 | popd | ||
| 194 | echo !macroend >> "%IWMAKE_NSISCONF%" | ||
| 195 | |||
| 196 | |||
| 197 | echo !macro MODULE_%IWMAKE_TMP%_REMOVE removepath >> "%IWMAKE_NSISCONF%" | ||
| 198 | echo strcmp ${removepath} "" MODULE_%IWMAKE_TMP%_REMOVE_SAFETYLABEL >> "%IWMAKE_NSISCONF%" | ||
| 199 | pushd %IWMAKE_TMP3% | ||
| 200 | |||
| 201 | echo set IWMAKE_TMP2=%%IWMAKE_TMP2:%CD%\=%% > "%IWMAKE_ROOT%\iwmake_tmp.bat" | ||
| 202 | |||
| 203 | dir /A-D /B /S > "%IWMAKE_ROOT%\iwmake_tmp.txt" | ||
| 204 | for /F "tokens=1" %%m in (%IWMAKE_ROOT%\iwmake_tmp.txt) do call :addRemoveFiles "%%m" | ||
| 205 | |||
| 206 | dir /AD /B /S | %SystemRoot%\system32\sort /R > "%IWMAKE_ROOT%\iwmake_tmp.txt" | ||
| 207 | for /F "tokens=1" %%m in (%IWMAKE_ROOT%\iwmake_tmp.txt) do call :addRemoveDirectory "%%m" | ||
| 208 | |||
| 209 | popd | ||
| 210 | echo MODULE_%IWMAKE_TMP%_REMOVE_SAFETYLABEL: >> "%IWMAKE_NSISCONF%" | ||
| 211 | echo !macroend >> "%IWMAKE_NSISCONF%" | ||
| 212 | goto :eof | ||
| 213 | |||
| 214 | :addInstallFile | ||
| 215 | set IWMAKE_TMP2=%~1 | ||
| 216 | call "%IWMAKE_ROOT%\iwmake_tmp.bat" | ||
| 217 | echo File "/oname=%IWMAKE_TMP2%" "%~1" >> "%IWMAKE_NSISCONF%" | ||
| 218 | goto :eof | ||
| 219 | |||
| 220 | :addInstallDirectory | ||
| 221 | set IWMAKE_TMP2=%~1 | ||
| 222 | call "%IWMAKE_ROOT%\iwmake_tmp.bat" | ||
| 223 | echo CreateDirectory "$OUTDIR\%IWMAKE_TMP2%" >> "%IWMAKE_NSISCONF%" | ||
| 224 | goto :eof | ||
| 225 | |||
| 226 | :addRemoveDirectory | ||
| 227 | set IWMAKE_TMP2=%~1 | ||
| 228 | call "%IWMAKE_ROOT%\iwmake_tmp.bat" | ||
| 229 | echo RMDir ${removepath}\%IWMAKE_TMP2% >> "%IWMAKE_NSISCONF%" | ||
| 230 | goto :eof | ||
| 231 | |||
| 232 | :addRemoveFiles | ||
| 233 | set IWMAKE_TMP2=%~1 | ||
| 234 | call "%IWMAKE_ROOT%\iwmake_tmp.bat" | ||
| 235 | echo Delete ${removepath}\%IWMAKE_TMP2% >> "%IWMAKE_NSISCONF%" | ||
| 236 | goto :eof | ||
| 237 | |||
| 238 | :sign | ||
| 239 | echo Signing Installer ... | ||
| 240 | %IWMAKE_SIGNPATH%\signtool.exe sign /v /t http://timestamp.verisign.com/scripts/timestamp.dll /f "%IWMAKE_SIGNPATH%\keys.pfx" "%IWMAKE_OUTPUT_FILE%" >> %IWMAKE_LOGFILE% | ||
| 241 | goto :eof | ||
| 242 | |||
| 243 | :openpackage | ||
| 244 | echo !define OPENSOURCE_BUILD >> "%IWMAKE_NSISCONF%" | ||
| 245 | goto :eof | ||
| 246 | |||
| 247 | :END |
tools/installer/batch/log.bat
(0 / 58)
|   | |||
| 1 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 2 | :: | ||
| 3 | :: Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | :: All rights reserved. | ||
| 5 | :: Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | :: | ||
| 7 | :: This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | :: | ||
| 9 | :: $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | :: No Commercial Usage | ||
| 11 | :: This file contains pre-release code and may not be distributed. | ||
| 12 | :: You may use this file in accordance with the terms and conditions | ||
| 13 | :: contained in the Technology Preview License Agreement accompanying | ||
| 14 | :: this package. | ||
| 15 | :: | ||
| 16 | :: GNU Lesser General Public License Usage | ||
| 17 | :: Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | :: General Public License version 2.1 as published by the Free Software | ||
| 19 | :: Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | :: packaging of this file. Please review the following information to | ||
| 21 | :: ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | :: will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | :: | ||
| 24 | :: In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | :: rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | :: version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | :: | ||
| 28 | :: If you have questions regarding the use of this file, please contact | ||
| 29 | :: Nokia at qt-info@nokia.com. | ||
| 30 | :: | ||
| 31 | :: | ||
| 32 | :: | ||
| 33 | :: | ||
| 34 | :: | ||
| 35 | :: | ||
| 36 | :: | ||
| 37 | :: | ||
| 38 | :: $QT_END_LICENSE$ | ||
| 39 | :: | ||
| 40 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 41 | call :%1 %2 | ||
| 42 | goto END | ||
| 43 | |||
| 44 | :file | ||
| 45 | set IWMAKE_LOGFILE=%IWMAKE_ROOT%\%~1 | ||
| 46 | call :reset | ||
| 47 | goto :eof | ||
| 48 | |||
| 49 | :fileAbs | ||
| 50 | set IWMAKE_LOGFILE=%1 | ||
| 51 | call :reset | ||
| 52 | goto :eof | ||
| 53 | |||
| 54 | :reset | ||
| 55 | date /T > %IWMAKE_LOGFILE% | ||
| 56 | goto :eof | ||
| 57 | |||
| 58 | :END |
|   | |||
| 1 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 2 | :: | ||
| 3 | :: Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | :: All rights reserved. | ||
| 5 | :: Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | :: | ||
| 7 | :: This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | :: | ||
| 9 | :: $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | :: No Commercial Usage | ||
| 11 | :: This file contains pre-release code and may not be distributed. | ||
| 12 | :: You may use this file in accordance with the terms and conditions | ||
| 13 | :: contained in the Technology Preview License Agreement accompanying | ||
| 14 | :: this package. | ||
| 15 | :: | ||
| 16 | :: GNU Lesser General Public License Usage | ||
| 17 | :: Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | :: General Public License version 2.1 as published by the Free Software | ||
| 19 | :: Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | :: packaging of this file. Please review the following information to | ||
| 21 | :: ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | :: will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | :: | ||
| 24 | :: In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | :: rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | :: version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | :: | ||
| 28 | :: If you have questions regarding the use of this file, please contact | ||
| 29 | :: Nokia at qt-info@nokia.com. | ||
| 30 | :: | ||
| 31 | :: | ||
| 32 | :: | ||
| 33 | :: | ||
| 34 | :: | ||
| 35 | :: | ||
| 36 | :: | ||
| 37 | :: | ||
| 38 | :: $QT_END_LICENSE$ | ||
| 39 | :: | ||
| 40 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 41 | set IWMAKE_RESULT=%1 | ||
| 42 | if [%IWMAKE_RESULT%]==[] goto :eof | ||
| 43 | set IWMAKE_RESULT=%IWMAKE_RESULT:a=A% | ||
| 44 | set IWMAKE_RESULT=%IWMAKE_RESULT:b=B% | ||
| 45 | set IWMAKE_RESULT=%IWMAKE_RESULT:c=C% | ||
| 46 | set IWMAKE_RESULT=%IWMAKE_RESULT:d=D% | ||
| 47 | set IWMAKE_RESULT=%IWMAKE_RESULT:e=E% | ||
| 48 | set IWMAKE_RESULT=%IWMAKE_RESULT:f=F% | ||
| 49 | set IWMAKE_RESULT=%IWMAKE_RESULT:g=G% | ||
| 50 | set IWMAKE_RESULT=%IWMAKE_RESULT:h=H% | ||
| 51 | set IWMAKE_RESULT=%IWMAKE_RESULT:i=I% | ||
| 52 | set IWMAKE_RESULT=%IWMAKE_RESULT:j=J% | ||
| 53 | set IWMAKE_RESULT=%IWMAKE_RESULT:k=K% | ||
| 54 | set IWMAKE_RESULT=%IWMAKE_RESULT:l=L% | ||
| 55 | set IWMAKE_RESULT=%IWMAKE_RESULT:m=M% | ||
| 56 | set IWMAKE_RESULT=%IWMAKE_RESULT:n=N% | ||
| 57 | set IWMAKE_RESULT=%IWMAKE_RESULT:o=O% | ||
| 58 | set IWMAKE_RESULT=%IWMAKE_RESULT:p=P% | ||
| 59 | set IWMAKE_RESULT=%IWMAKE_RESULT:q=Q% | ||
| 60 | set IWMAKE_RESULT=%IWMAKE_RESULT:r=R% | ||
| 61 | set IWMAKE_RESULT=%IWMAKE_RESULT:s=S% | ||
| 62 | set IWMAKE_RESULT=%IWMAKE_RESULT:t=T% | ||
| 63 | set IWMAKE_RESULT=%IWMAKE_RESULT:u=U% | ||
| 64 | set IWMAKE_RESULT=%IWMAKE_RESULT:v=V% | ||
| 65 | set IWMAKE_RESULT=%IWMAKE_RESULT:w=W% | ||
| 66 | set IWMAKE_RESULT=%IWMAKE_RESULT:x=X% | ||
| 67 | set IWMAKE_RESULT=%IWMAKE_RESULT:y=Y% | ||
| 68 | set IWMAKE_RESULT=%IWMAKE_RESULT:z=Z% |
|   | |||
| 1 | ############################################################################# | ||
| 2 | ## | ||
| 3 | ## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | ## All rights reserved. | ||
| 5 | ## Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | ## | ||
| 7 | ## This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | ## | ||
| 9 | ## $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | ## No Commercial Usage | ||
| 11 | ## This file contains pre-release code and may not be distributed. | ||
| 12 | ## You may use this file in accordance with the terms and conditions | ||
| 13 | ## contained in the Technology Preview License Agreement accompanying | ||
| 14 | ## this package. | ||
| 15 | ## | ||
| 16 | ## GNU Lesser General Public License Usage | ||
| 17 | ## Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | ## General Public License version 2.1 as published by the Free Software | ||
| 19 | ## Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | ## packaging of this file. Please review the following information to | ||
| 21 | ## ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | ## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | ## | ||
| 24 | ## In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | ## rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | ## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | ## | ||
| 28 | ## If you have questions regarding the use of this file, please contact | ||
| 29 | ## Nokia at qt-info@nokia.com. | ||
| 30 | ## | ||
| 31 | ## | ||
| 32 | ## | ||
| 33 | ## | ||
| 34 | ## | ||
| 35 | ## | ||
| 36 | ## | ||
| 37 | ## | ||
| 38 | ## $QT_END_LICENSE$ | ||
| 39 | ## | ||
| 40 | ############################################################################# | ||
| 41 | |||
| 42 | # root directory | ||
| 43 | # Describes the directory where temporary folder, build directory and | ||
| 44 | # package will be located at. | ||
| 45 | env root "c:\qt_packages" | ||
| 46 | |||
| 47 | # where to find all external files | ||
| 48 | # To resolve the external dependencies specify a server, where to get | ||
| 49 | # required tools like wget, sign, etc. | ||
| 50 | env extroot "\\someshare\tools\" | ||
| 51 | |||
| 52 | # Location of the installed MinGW to build binaries | ||
| 53 | env mingwPath "c:\mingw" | ||
| 54 | |||
| 55 | # Location to NSIS package creator | ||
| 56 | env NSISPath "%ProgramFiles%\NSIS" | ||
| 57 | |||
| 58 | # Location to the install path of PERL | ||
| 59 | env perlPath "c:\Perl\bin" | ||
| 60 | |||
| 61 | # source package directory | ||
| 62 | # Describe the directory where compressed source package is located at. | ||
| 63 | # The installer script uses this one for building and creating a package. | ||
| 64 | env releaseLocation "http://your.source.server/somepath" |
|   | |||
| 1 | ############################################################################# | ||
| 2 | ## | ||
| 3 | ## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | ## All rights reserved. | ||
| 5 | ## Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | ## | ||
| 7 | ## This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | ## | ||
| 9 | ## $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | ## No Commercial Usage | ||
| 11 | ## This file contains pre-release code and may not be distributed. | ||
| 12 | ## You may use this file in accordance with the terms and conditions | ||
| 13 | ## contained in the Technology Preview License Agreement accompanying | ||
| 14 | ## this package. | ||
| 15 | ## | ||
| 16 | ## GNU Lesser General Public License Usage | ||
| 17 | ## Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | ## General Public License version 2.1 as published by the Free Software | ||
| 19 | ## Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | ## packaging of this file. Please review the following information to | ||
| 21 | ## ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | ## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | ## | ||
| 24 | ## In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | ## rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | ## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | ## | ||
| 28 | ## If you have questions regarding the use of this file, please contact | ||
| 29 | ## Nokia at qt-info@nokia.com. | ||
| 30 | ## | ||
| 31 | ## | ||
| 32 | ## | ||
| 33 | ## | ||
| 34 | ## | ||
| 35 | ## | ||
| 36 | ## | ||
| 37 | ## | ||
| 38 | ## $QT_END_LICENSE$ | ||
| 39 | ## | ||
| 40 | ############################################################################# | ||
| 41 | #extracts the package to buildDir | ||
| 42 | |||
| 43 | #extract dest "build_mingw_opensource" | ||
| 44 | #Section EXTRACT | ||
| 45 | #extract extUnpack "qt-win-opensource-src-%VERSION%.zip" | ||
| 46 | #SectionEnd | ||
| 47 | |||
| 48 | #build the binaries | ||
| 49 | #build begin mingw "build_mingw_opensource" | ||
| 50 | |||
| 51 | #Section CONFIGURE | ||
| 52 | #build configure "-confirm-license -release -plugin-sql-sqlite -qt-libpng -qt-libjpeg" | ||
| 53 | #SectionEnd | ||
| 54 | |||
| 55 | #Section BUILD | ||
| 56 | #build bin | ||
| 57 | #SectionEnd | ||
| 58 | |||
| 59 | #build finish | ||
| 60 | |||
| 61 | # organize release files | ||
| 62 | #Section ORGANIZE | ||
| 63 | #delete dir "release_mingw_opensource" | ||
| 64 | |||
| 65 | #copy dest "release_mingw_opensource" | ||
| 66 | #copy src "build_mingw_opensource" | ||
| 67 | |||
| 68 | # extract everything once more | ||
| 69 | #extract dest "release_mingw_opensource" | ||
| 70 | #extract unpack "qt-win-opensource-src-4.4.3.zip" | ||
| 71 | |||
| 72 | # qconfig.h | ||
| 73 | #copy file "src\corelib\global\qconfig.h" | ||
| 74 | #copy file "include\QtCore\qconfig.h" | ||
| 75 | #copy file "include\Qt\qconfig.h" | ||
| 76 | |||
| 77 | # qconfig.pri | ||
| 78 | #copy file "mkspecs\qconfig.pri" | ||
| 79 | |||
| 80 | # .qmake.cache | ||
| 81 | #copy file ".qmake.cache" | ||
| 82 | |||
| 83 | # default mkspec | ||
| 84 | #copy files "mkspecs\default\*" "mkspecs\default\" | ||
| 85 | |||
| 86 | # copy all binary files | ||
| 87 | #copy all "*.a" | ||
| 88 | #copy all "*.exe" | ||
| 89 | #copy all "*.dll" | ||
| 90 | |||
| 91 | # .prl files | ||
| 92 | #copy files "lib\*.prl" "lib\" | ||
| 93 | |||
| 94 | # remove unused stuff | ||
| 95 | #delete files "lib\*.dll" | ||
| 96 | |||
| 97 | # copy InetLoad license info | ||
| 98 | #copy files "..\INetLoad\Readme.txt" "src\3rdparty\InetLoad\" | ||
| 99 | |||
| 100 | #SectionEnd | ||
| 101 | |||
| 102 | Section NSIS | ||
| 103 | # general installer options | ||
| 104 | installer begin "Qt OpenSource" | ||
| 105 | installer version "4.4.3" | ||
| 106 | installer output "c:\iwmake\qt-win-opensource-4.4.3-mingw.exe" | ||
| 107 | installer startmenu "Qt by Nokia v4.4.3 (OpenSource)" | ||
| 108 | installer enable component_page | ||
| 109 | installer enable directory_page | ||
| 110 | installer enable startmenu_page | ||
| 111 | installer instdir mingw 0 "Qt Installation Directory" | ||
| 112 | installer licenseFile "%IWMAKE_ROOT%\release_mingw_opensource\LICENSE.GPL" | ||
| 113 | #installer licenseFile "%IWMAKE_ROOT%\release_mingw_opensource\LICENSE.PREVIEW.OPENSOURCE" | ||
| 114 | |||
| 115 | installer runfunction "Run Examples and Demos" | ||
| 116 | installer readmefunction "Show Documentation" | ||
| 117 | |||
| 118 | installer module registeruiext | ||
| 119 | installer module opensource | ||
| 120 | |||
| 121 | # mingw options | ||
| 122 | installer module mingw | ||
| 123 | installer src mingw "release_mingw_opensource" | ||
| 124 | installer makeFileList mingw "release_mingw_opensource" | ||
| 125 | installer buildDir mingw "build_mingw_opensource" | ||
| 126 | installer enable nodirlengthcheck | ||
| 127 | |||
| 128 | # public generatable package | ||
| 129 | installer openpackage | ||
| 130 | |||
| 131 | SectionEnd | ||
| 132 | |||
| 133 | # compile the package | ||
| 134 | Section NSIS_COMPILE | ||
| 135 | installer compile | ||
| 136 | SectionEnd |
tools/installer/iwmake.bat
(0 / 124)
|   | |||
| 1 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 2 | :: | ||
| 3 | :: Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | :: All rights reserved. | ||
| 5 | :: Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | :: | ||
| 7 | :: This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | :: | ||
| 9 | :: $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | :: No Commercial Usage | ||
| 11 | :: This file contains pre-release code and may not be distributed. | ||
| 12 | :: You may use this file in accordance with the terms and conditions | ||
| 13 | :: contained in the Technology Preview License Agreement accompanying | ||
| 14 | :: this package. | ||
| 15 | :: | ||
| 16 | :: GNU Lesser General Public License Usage | ||
| 17 | :: Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | :: General Public License version 2.1 as published by the Free Software | ||
| 19 | :: Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | :: packaging of this file. Please review the following information to | ||
| 21 | :: ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | :: will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | :: | ||
| 24 | :: In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | :: rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | :: version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | :: | ||
| 28 | :: If you have questions regarding the use of this file, please contact | ||
| 29 | :: Nokia at qt-info@nokia.com. | ||
| 30 | :: | ||
| 31 | :: | ||
| 32 | :: | ||
| 33 | :: | ||
| 34 | :: | ||
| 35 | :: | ||
| 36 | :: | ||
| 37 | :: | ||
| 38 | :: $QT_END_LICENSE$ | ||
| 39 | :: | ||
| 40 | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| 41 | rem @echo off | ||
| 42 | call :init | ||
| 43 | if "%IWMAKE_STATUS%"=="failed" goto FAILED | ||
| 44 | if not exist "%IWMAKE_SCRIPTDIR%\config\%1.conf" goto FAILED | ||
| 45 | if not "%~2"=="" set IWMAKE_SECTION=%~2 | ||
| 46 | for /F "eol=# tokens=1,2*" %%i in (%IWMAKE_SCRIPTDIR%\config\config.default) do set IWMAKE_TMP=%%k& call :func_delegate %%i %%j | ||
| 47 | if "%IWMAKE_STATUS%"=="failed" goto FAILED | ||
| 48 | if exist "%IWMAKE_SCRIPTDIR%\config\config.%COMPUTERNAME%" for /F "eol=# tokens=1,2*" %%i in (%IWMAKE_SCRIPTDIR%\config\config.%COMPUTERNAME%) do set IWMAKE_TMP=%%k& call :func_delegate %%i %%j | ||
| 49 | if "%IWMAKE_STATUS%"=="failed" goto FAILED | ||
| 50 | call :checkrequirements | ||
| 51 | if "%IWMAKE_STATUS%"=="failed" goto FAILED | ||
| 52 | for /F "eol=# tokens=1,2*" %%i in (%IWMAKE_SCRIPTDIR%\config\%1.conf) do set IWMAKE_TMP=%%k& call :func_delegate %%i %%j | ||
| 53 | if "%IWMAKE_STATUS%"=="failed" goto FAILED | ||
| 54 | goto DONE | ||
| 55 | |||
| 56 | :func_delegate | ||
| 57 | if "%IWMAKE_STATUS%"=="failed" goto :eof | ||
| 58 | set IWMAKE_TMP="%IWMAKE_TMP:"=%" | ||
| 59 | |||
| 60 | if /i "%1"=="sectionend" echo Leaving Section& set IWMAKE_PARSESECTION=1& goto :eof | ||
| 61 | if /i not "%1"=="section" goto callScript | ||
| 62 | echo Entering Section %~2 | ||
| 63 | for %%m in (%IWMAKE_SECTION%) do call :checkSection %%m %~2 | ||
| 64 | goto :eof | ||
| 65 | |||
| 66 | :callScript | ||
| 67 | if "%IWMAKE_PARSESECTION%"=="0" goto :eof | ||
| 68 | |||
| 69 | call "%IWMAKE_SCRIPTDIR%\batch\%1.bat" %2 %IWMAKE_TMP% | ||
| 70 | if not "%errorlevel%"=="0" echo %1 %2 failed! >> %IWMAKE_LOGFILE%& set IWMAKE_STATUS=failed | ||
| 71 | goto :eof | ||
| 72 | |||
| 73 | :checkSection | ||
| 74 | if /i "%1"=="%2" echo Skipping Section& set IWMAKE_PARSESECTION=0 | ||
| 75 | goto :eof | ||
| 76 | |||
| 77 | :checkrequirements | ||
| 78 | if not exist %IWMAKE_ROOT% mkdir %IWMAKE_ROOT% | ||
| 79 | if not "%IWMAKE_SIGNPATH%"=="" goto CheckSIGNOK | ||
| 80 | call "%IWMAKE_SCRIPTDIR%\batch\copy.bat" extsync sign | ||
| 81 | call "%IWMAKE_SCRIPTDIR%\batch\env.bat" signPath "%IWMAKE_ROOT%\sign" | ||
| 82 | :CheckSIGNOK | ||
| 83 | if not "%IWMAKE_WGET%"=="" goto CheckWGETOK | ||
| 84 | call "%IWMAKE_SCRIPTDIR%\batch\copy.bat" extsync wget | ||
| 85 | call "%IWMAKE_SCRIPTDIR%\batch\env.bat" wgetDir wget | ||
| 86 | :CheckWGETOK | ||
| 87 | if exist "%IWMAKE_PERLPATH%\perl.exe" goto CheckPerlOK | ||
| 88 | set IWMAKE_STATUS=failed | ||
| 89 | echo Perl not found in %IWMAKE_PERLPATH%! (check your config file) | ||
| 90 | :CheckPerlOK | ||
| 91 | if not "%IWMAKE_UNZIPAPP%"=="" goto CheckUNZIPOK | ||
| 92 | call "%IWMAKE_SCRIPTDIR%\batch\copy.bat" extsync unzip | ||
| 93 | call "%IWMAKE_SCRIPTDIR%\batch\env.bat" unzipApp "%IWMAKE_ROOT%\unzip\unzip.exe" | ||
| 94 | :CheckUNZIPOK | ||
| 95 | if exist "%IWMAKE_NSISPATH%\makensis.exe" goto CheckNSISOK | ||
| 96 | set IWMAKE_STATUS=failed | ||
| 97 | echo NSIS not found! (check your config file) | ||
| 98 | :CheckNSISOK | ||
| 99 | call "%IWMAKE_SCRIPTDIR%\batch\installer.bat" updateplugins | ||
| 100 | goto :eof | ||
| 101 | |||
| 102 | :init | ||
| 103 | set IWMAKE_SCRIPTDIR=%~dp0 | ||
| 104 | set IWMAKE_SCRIPTDIR=%IWMAKE_SCRIPTDIR:~0,-1% | ||
| 105 | call "%IWMAKE_SCRIPTDIR%\batch\env.bat" setglobals | ||
| 106 | goto :eof | ||
| 107 | |||
| 108 | :cleanup | ||
| 109 | pushd "%IWMAKE_STARTDIR%" | ||
| 110 | call "%IWMAKE_SCRIPTDIR%\batch\env.bat" removeglobals | ||
| 111 | popd | ||
| 112 | goto :eof | ||
| 113 | |||
| 114 | :FAILED | ||
| 115 | call :cleanup | ||
| 116 | echo Failed! | ||
| 117 | goto END | ||
| 118 | |||
| 119 | :DONE | ||
| 120 | call :cleanup | ||
| 121 | echo Done! | ||
| 122 | goto END | ||
| 123 | |||
| 124 | :END |
|   | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ;; | ||
| 3 | ;; Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | ;; All rights reserved. | ||
| 5 | ;; Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | ;; | ||
| 7 | ;; This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | ;; | ||
| 9 | ;; $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | ;; No Commercial Usage | ||
| 11 | ;; This file contains pre-release code and may not be distributed. | ||
| 12 | ;; You may use this file in accordance with the terms and conditions | ||
| 13 | ;; contained in the Technology Preview License Agreement accompanying | ||
| 14 | ;; this package. | ||
| 15 | ;; | ||
| 16 | ;; GNU Lesser General Public License Usage | ||
| 17 | ;; Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | ;; General Public License version 2.1 as published by the Free Software | ||
| 19 | ;; Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | ;; packaging of this file. Please review the following information to | ||
| 21 | ;; ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | ;; will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | ;; | ||
| 24 | ;; In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | ;; rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | ;; version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | ;; | ||
| 28 | ;; If you have questions regarding the use of this file, please contact | ||
| 29 | ;; Nokia at qt-info@nokia.com. | ||
| 30 | ;; | ||
| 31 | ;; | ||
| 32 | ;; | ||
| 33 | ;; | ||
| 34 | ;; | ||
| 35 | ;; | ||
| 36 | ;; | ||
| 37 | ;; | ||
| 38 | ;; $QT_END_LICENSE$ | ||
| 39 | ;; | ||
| 40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 41 | ; Ini file generated by the HM NIS Edit IO designer. | ||
| 42 | [Settings] | ||
| 43 | NumFields=2 | ||
| 44 | |||
| 45 | [Field 1] | ||
| 46 | Type=Label | ||
| 47 | Text=The following components will be uninstalled: | ||
| 48 | Left=1 | ||
| 49 | Right=298 | ||
| 50 | Top=1 | ||
| 51 | Bottom=12 | ||
| 52 | |||
| 53 | [Field 2] | ||
| 54 | Type=Label | ||
| 55 | Left=16 | ||
| 56 | Right=298 | ||
| 57 | Top=16 | ||
| 58 | Bottom=136 |
tools/installer/nsis/gwdownload.ini
(0 / 117)
|   | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ;; | ||
| 3 | ;; Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | ;; All rights reserved. | ||
| 5 | ;; Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | ;; | ||
| 7 | ;; This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | ;; | ||
| 9 | ;; $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | ;; No Commercial Usage | ||
| 11 | ;; This file contains pre-release code and may not be distributed. | ||
| 12 | ;; You may use this file in accordance with the terms and conditions | ||
| 13 | ;; contained in the Technology Preview License Agreement accompanying | ||
| 14 | ;; this package. | ||
| 15 | ;; | ||
| 16 | ;; GNU Lesser General Public License Usage | ||
| 17 | ;; Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | ;; General Public License version 2.1 as published by the Free Software | ||
| 19 | ;; Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | ;; packaging of this file. Please review the following information to | ||
| 21 | ;; ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | ;; will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | ;; | ||
| 24 | ;; In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | ;; rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | ;; version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | ;; | ||
| 28 | ;; If you have questions regarding the use of this file, please contact | ||
| 29 | ;; Nokia at qt-info@nokia.com. | ||
| 30 | ;; | ||
| 31 | ;; | ||
| 32 | ;; | ||
| 33 | ;; | ||
| 34 | ;; | ||
| 35 | ;; | ||
| 36 | ;; | ||
| 37 | ;; | ||
| 38 | ;; $QT_END_LICENSE$ | ||
| 39 | ;; | ||
| 40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 41 | ; Ini file generated by the HM NIS Edit IO designer. | ||
| 42 | [Settings] | ||
| 43 | NumFields=9 | ||
| 44 | |||
| 45 | [Field 1] | ||
| 46 | Type=Groupbox | ||
| 47 | Text=Find MinGW | ||
| 48 | Left=0 | ||
| 49 | Right=299 | ||
| 50 | Top=49 | ||
| 51 | Bottom=91 | ||
| 52 | |||
| 53 | [Field 2] | ||
| 54 | Type=Label | ||
| 55 | Text=Please specify a directory where to find MinGW (for instance: C:\\MinGW). If you do not have MinGW installed, you can let the installer download and install it for you. | ||
| 56 | Left=2 | ||
| 57 | Right=298 | ||
| 58 | Top=1 | ||
| 59 | Bottom=27 | ||
| 60 | |||
| 61 | [Field 3] | ||
| 62 | Type=DirRequest | ||
| 63 | Left=8 | ||
| 64 | Right=290 | ||
| 65 | Top=68 | ||
| 66 | Bottom=81 | ||
| 67 | |||
| 68 | [Field 4] | ||
| 69 | Type=Groupbox | ||
| 70 | Text=Download and install MinGW | ||
| 71 | Left=0 | ||
| 72 | Right=299 | ||
| 73 | Top=94 | ||
| 74 | Bottom=137 | ||
| 75 | |||
| 76 | [Field 5] | ||
| 77 | Type=Label | ||
| 78 | Text=Previously installed MinGW: | ||
| 79 | Left=8 | ||
| 80 | Right=286 | ||
| 81 | Top=60 | ||
| 82 | Bottom=68 | ||
| 83 | |||
| 84 | [Field 6] | ||
| 85 | Type=DirRequest | ||
| 86 | Left=8 | ||
| 87 | Right=290 | ||
| 88 | Top=116 | ||
| 89 | Bottom=129 | ||
| 90 | Flags=DISABLED | ||
| 91 | |||
| 92 | [Field 7] | ||
| 93 | Type=Label | ||
| 94 | Text=Installation directory: | ||
| 95 | Left=8 | ||
| 96 | Right=124 | ||
| 97 | Top=107 | ||
| 98 | Bottom=115 | ||
| 99 | Flags=DISABLED | ||
| 100 | |||
| 101 | [Field 8] | ||
| 102 | Type=Checkbox | ||
| 103 | Text=Download and install minimal MinGW installation. | ||
| 104 | Left=8 | ||
| 105 | Right=172 | ||
| 106 | Top=28 | ||
| 107 | Bottom=40 | ||
| 108 | Flags=NOTIFY | ||
| 109 | |||
| 110 | [Field 9] | ||
| 111 | Type=Link | ||
| 112 | Text=(http://www.mingw.org) | ||
| 113 | Left=174 | ||
| 114 | Right=260 | ||
| 115 | Top=30 | ||
| 116 | Bottom=38 | ||
| 117 | State=http://www.mingw.org |
|   | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ;; | ||
| 3 | ;; Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | ;; All rights reserved. | ||
| 5 | ;; Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | ;; | ||
| 7 | ;; This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | ;; | ||
| 9 | ;; $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | ;; No Commercial Usage | ||
| 11 | ;; This file contains pre-release code and may not be distributed. | ||
| 12 | ;; You may use this file in accordance with the terms and conditions | ||
| 13 | ;; contained in the Technology Preview License Agreement accompanying | ||
| 14 | ;; this package. | ||
| 15 | ;; | ||
| 16 | ;; GNU Lesser General Public License Usage | ||
| 17 | ;; Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | ;; General Public License version 2.1 as published by the Free Software | ||
| 19 | ;; Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | ;; packaging of this file. Please review the following information to | ||
| 21 | ;; ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | ;; will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | ;; | ||
| 24 | ;; In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | ;; rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | ;; version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | ;; | ||
| 28 | ;; If you have questions regarding the use of this file, please contact | ||
| 29 | ;; Nokia at qt-info@nokia.com. | ||
| 30 | ;; | ||
| 31 | ;; | ||
| 32 | ;; | ||
| 33 | ;; | ||
| 34 | ;; | ||
| 35 | ;; | ||
| 36 | ;; | ||
| 37 | ;; | ||
| 38 | ;; $QT_END_LICENSE$ | ||
| 39 | ;; | ||
| 40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 41 | ; Ini file generated by the HM NIS Edit IO designer. | ||
| 42 | [Settings] | ||
| 43 | NumFields=3 | ||
| 44 | |||
| 45 | [Field 1] | ||
| 46 | Type=Label | ||
| 47 | Text=Select a mirror where to download MinGW: | ||
| 48 | Left=0 | ||
| 49 | Right=211 | ||
| 50 | Top=0 | ||
| 51 | Bottom=8 | ||
| 52 | |||
| 53 | [Field 2] | ||
| 54 | Type=Checkbox | ||
| 55 | Text=Download MinGW source code. (You don't need this to compile Qt) | ||
| 56 | Left=4 | ||
| 57 | Right=296 | ||
| 58 | Top=124 | ||
| 59 | Bottom=134 | ||
| 60 | |||
| 61 | [Field 3] | ||
| 62 | Type=Listbox | ||
| 63 | Left=0 | ||
| 64 | Right=299 | ||
| 65 | Top=9 | ||
| 66 | Bottom=118 |
Binary files differ
Binary files differ
Binary files differ
|   | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ;; | ||
| 3 | ;; Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | ;; All rights reserved. | ||
| 5 | ;; Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | ;; | ||
| 7 | ;; This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | ;; | ||
| 9 | ;; $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | ;; No Commercial Usage | ||
| 11 | ;; This file contains pre-release code and may not be distributed. | ||
| 12 | ;; You may use this file in accordance with the terms and conditions | ||
| 13 | ;; contained in the Technology Preview License Agreement accompanying | ||
| 14 | ;; this package. | ||
| 15 | ;; | ||
| 16 | ;; GNU Lesser General Public License Usage | ||
| 17 | ;; Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | ;; General Public License version 2.1 as published by the Free Software | ||
| 19 | ;; Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | ;; packaging of this file. Please review the following information to | ||
| 21 | ;; ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | ;; will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | ;; | ||
| 24 | ;; In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | ;; rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | ;; version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | ;; | ||
| 28 | ;; If you have questions regarding the use of this file, please contact | ||
| 29 | ;; Nokia at qt-info@nokia.com. | ||
| 30 | ;; | ||
| 31 | ;; | ||
| 32 | ;; | ||
| 33 | ;; | ||
| 34 | ;; | ||
| 35 | ;; | ||
| 36 | ;; | ||
| 37 | ;; | ||
| 38 | ;; $QT_END_LICENSE$ | ||
| 39 | ;; | ||
| 40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 41 | !include "StrFunc.nsh" | ||
| 42 | !include "includes\list.nsh" | ||
| 43 | |||
| 44 | ${StrCase} | ||
| 45 | ${StrTrimNewLines} | ||
| 46 | ${StrStr} | ||
| 47 | ${StrRep} | ||
| 48 | ${UnStrRep} | ||
| 49 | |||
| 50 | var STARTMENU_STRING | ||
| 51 | var PRODUCT_UNIQUE_KEY | ||
| 52 | var RUNNING_AS_ADMIN | ||
| 53 | |||
| 54 | !ifndef MODULE_MINGW | ||
| 55 | !ifdef MODULE_MSVC_VC60 | ||
| 56 | !define INSTALL_COMPILER "vc60" | ||
| 57 | !else | ||
| 58 | !ifdef MODULE_MSVC_VS2002 | ||
| 59 | !define INSTALL_COMPILER "vs2002" | ||
| 60 | !else | ||
| 61 | !ifdef MODULE_MSVC_VS2005 | ||
| 62 | !define INSTALL_COMPILER "vs2005" | ||
| 63 | !else | ||
| 64 | !define INSTALL_COMPILER "vs2003" | ||
| 65 | !endif | ||
| 66 | !endif | ||
| 67 | !endif | ||
| 68 | !else | ||
| 69 | !define INSTALL_COMPILER "mingw" | ||
| 70 | !endif | ||
| 71 | |||
| 72 | ; ADDIN\INTEGRATION | ||
| 73 | var VS_VERSION | ||
| 74 | var VS_VERSION_SHORT | ||
| 75 | var ADDIN_INSTDIR | ||
| 76 | var VSIP_INSTDIR | ||
| 77 | var HELP_INSTDIR | ||
| 78 | var ECLIPSE_INSTDIR | ||
| 79 | var QTJAMBIECLIPSE_INSTDIR | ||
| 80 | |||
| 81 | ; LICENSECHECK | ||
| 82 | var LICENSE_KEY | ||
| 83 | var LICENSEE | ||
| 84 | var LICENSE_PRODUCT | ||
| 85 | var LICENSE_FILE | ||
| 86 | |||
| 87 | ; MSVC | ||
| 88 | !ifdef MODULE_MSVC | ||
| 89 | !define MSVC_ValidateDirectory | ||
| 90 | var MSVC_INSTDIR | ||
| 91 | !endif | ||
| 92 | |||
| 93 | ; MINGW | ||
| 94 | !ifdef MODULE_MINGW | ||
| 95 | !define MINGW_ValidateDirectory | ||
| 96 | var MINGW_INSTDIR | ||
| 97 | !endif | ||
| 98 | |||
| 99 | ; QSA | ||
| 100 | var QSA_INSTDIR | ||
| 101 | |||
| 102 | ; QTDIR PAGE | ||
| 103 | var QTDIR_SELECTED | ||
| 104 | var COMPILER_SELECTED | ||
| 105 | |||
| 106 | ; used by addin7x and vsip | ||
| 107 | !ifndef MODULE_VSIP_ROOT | ||
| 108 | !define MODULE_VSIP_ROOT "${INSTALL_ROOT}\vsip" | ||
| 109 | !endif | ||
| 110 | |||
| 111 | ; add to confirm path | ||
| 112 | var UninstallerConfirmProduct | ||
| 113 | |||
| 114 | Function un.ConfirmOnDelete | ||
| 115 | exch $0 | ||
| 116 | push $1 | ||
| 117 | |||
| 118 | push "$0" | ||
| 119 | push "$UninstallerConfirmProduct" | ||
| 120 | call un.ItemInList | ||
| 121 | pop $1 | ||
| 122 | IntCmp $1 1 ConfirmOnDeleteDone | ||
| 123 | |||
| 124 | strcmp "$UninstallerConfirmProduct" "" 0 +3 | ||
| 125 | strcpy $UninstallerConfirmProduct "$0" | ||
| 126 | goto +2 | ||
| 127 | strcpy $UninstallerConfirmProduct "$UninstallerConfirmProduct$\r$\n$0" | ||
| 128 | |||
| 129 | ConfirmOnDeleteDone: | ||
| 130 | pop $1 | ||
| 131 | pop $0 | ||
| 132 | FunctionEnd | ||
| 133 | |||
| 134 | !macro ConfirmOnRemove REG_KEY PRODUCT_NAME | ||
| 135 | push $0 | ||
| 136 | ClearErrors | ||
| 137 | ReadRegDWORD $0 SHCTX "$PRODUCT_UNIQUE_KEY" "${REG_KEY}" | ||
| 138 | intcmp $0 1 0 +3 | ||
| 139 | push "${PRODUCT_NAME}" | ||
| 140 | call un.ConfirmOnDelete | ||
| 141 | ClearErrors | ||
| 142 | pop $0 | ||
| 143 | !macroend |
|   | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ;; | ||
| 3 | ;; Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | ;; All rights reserved. | ||
| 5 | ;; Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | ;; | ||
| 7 | ;; This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | ;; | ||
| 9 | ;; $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | ;; No Commercial Usage | ||
| 11 | ;; This file contains pre-release code and may not be distributed. | ||
| 12 | ;; You may use this file in accordance with the terms and conditions | ||
| 13 | ;; contained in the Technology Preview License Agreement accompanying | ||
| 14 | ;; this package. | ||
| 15 | ;; | ||
| 16 | ;; GNU Lesser General Public License Usage | ||
| 17 | ;; Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | ;; General Public License version 2.1 as published by the Free Software | ||
| 19 | ;; Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | ;; packaging of this file. Please review the following information to | ||
| 21 | ;; ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | ;; will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | ;; | ||
| 24 | ;; In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | ;; rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | ;; version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | ;; | ||
| 28 | ;; If you have questions regarding the use of this file, please contact | ||
| 29 | ;; Nokia at qt-info@nokia.com. | ||
| 30 | ;; | ||
| 31 | ;; | ||
| 32 | ;; | ||
| 33 | ;; | ||
| 34 | ;; | ||
| 35 | ;; | ||
| 36 | ;; | ||
| 37 | ;; | ||
| 38 | ;; $QT_END_LICENSE$ | ||
| 39 | ;; | ||
| 40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 41 | !ifndef INSTDIR_1 | ||
| 42 | !macro INSTDIR_INITIALIZE | ||
| 43 | !define MUI_DIRECTORYPAGE_VARIABLE $${INSTDIR_0}_INSTDIR | ||
| 44 | !ifdef ${INSTDIR_0}_ValidateDirectory | ||
| 45 | !define MUI_PAGE_CUSTOMFUNCTION_LEAVE "${INSTDIR_0}_ValidateDirectoryFunc" | ||
| 46 | !endif | ||
| 47 | !insertmacro MUI_PAGE_DIRECTORY | ||
| 48 | !macroend | ||
| 49 | !macro INSTDIR_FUNCTIONS | ||
| 50 | !macroend | ||
| 51 | !macro INSTDIR_STARTUP | ||
| 52 | !macroend | ||
| 53 | !else | ||
| 54 | !macro INSTDIR_INITIALIZE | ||
| 55 | !define INSTDIR_INI_FILE "instdir.ini" | ||
| 56 | !define INSTDIR_0_DIRFIELD "Field 10" | ||
| 57 | !define INSTDIR_0_TEXTFIELD "Field 13" | ||
| 58 | !define INSTDIR_1_DIRFIELD "Field 7" | ||
| 59 | !define INSTDIR_1_TEXTFIELD "Field 11" | ||
| 60 | !define INSTDIR_2_DIRFIELD "Field 5" | ||
| 61 | !define INSTDIR_2_TEXTFIELD "Field 8" | ||
| 62 | !define INSTDIR_3_DIRFIELD "Field 3" | ||
| 63 | !define INSTDIR_3_TEXTFIELD "Field 6" | ||
| 64 | !define INSTDIR_4_DIRFIELD "Field 2" | ||
| 65 | !define INSTDIR_4_TEXTFIELD "Field 4" | ||
| 66 | !define INSTDIR_5_DIRFIELD "Field 9" | ||
| 67 | !define INSTDIR_5_TEXTFIELD "Field 12" | ||
| 68 | !define INSTDIR_DIRHEIGHT 18 | ||
| 69 | |||
| 70 | Page custom InitInstDirs UpdateInstDirs | ||
| 71 | |||
| 72 | LangString InstDirLicenseTitle ${LANG_ENGLISH} "Installation Directories" | ||
| 73 | LangString InstDirLicenseTitleDescription ${LANG_ENGLISH} "Select the directories where you want the software installed." | ||
| 74 | !macroend | ||
| 75 | |||
| 76 | !macro INSTDIR_FUNCTIONS | ||
| 77 | Function InitInstDirs | ||
| 78 | push $0 | ||
| 79 | push $1 | ||
| 80 | push $2 | ||
| 81 | push $3 | ||
| 82 | |||
| 83 | !insertmacro MUI_HEADER_TEXT "$(InstDirLicenseTitle)" "$(InstDirLicenseTitleDescription)" | ||
| 84 | strcpy $0 "129" | ||
| 85 | |||
| 86 | !ifdef INSTDIR_0 | ||
| 87 | SectionGetFlags ${${INSTDIR_0}_SEC01} $1 | ||
| 88 | !ifdef ${INSTDIR_0}_SEC02 | ||
| 89 | SectionGetFlags ${${INSTDIR_0}_SEC02} $3 | ||
| 90 | IntOp $1 $1 | $3 | ||
| 91 | !endif | ||
| 92 | IntOp $2 $1 & 1 ;just care about the first flag | ||
| 93 | StrCpy $1 "READONLY" | ||
| 94 | StrCmp "$2" "1" +2 | ||
| 95 | StrCpy $1 "DISABLED" | ||
| 96 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_0_TEXTFIELD}" "Flags" "$1" | ||
| 97 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_0_DIRFIELD}" "Flags" "$1" | ||
| 98 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_0_TEXTFIELD}" "Text" "${INSTDIR_0_TEXT}" | ||
| 99 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_0_DIRFIELD}" "State" $${INSTDIR_0}_INSTDIR | ||
| 100 | !else | ||
| 101 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_0_DIRFIELD}" "Type" "Unknown" | ||
| 102 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_0_TEXTFIELD}" "Type" "Unknown" | ||
| 103 | intop $0 $0 - ${INSTDIR_DIRHEIGHT} | ||
| 104 | !endif | ||
| 105 | !ifdef INSTDIR_1 | ||
| 106 | SectionGetFlags ${${INSTDIR_1}_SEC01} $1 | ||
| 107 | !ifdef ${INSTDIR_1}_SEC02 | ||
| 108 | SectionGetFlags ${${INSTDIR_1}_SEC02} $3 | ||
| 109 | IntOp $1 $1 | $3 | ||
| 110 | !endif | ||
| 111 | IntOp $2 $1 & 1 ;just care about the first flag | ||
| 112 | StrCpy $1 "READONLY" | ||
| 113 | StrCmp "$2" "1" +2 | ||
| 114 | StrCpy $1 "DISABLED" | ||
| 115 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_1_TEXTFIELD}" "Flags" "$1" | ||
| 116 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_1_DIRFIELD}" "Flags" "$1" | ||
| 117 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_1_TEXTFIELD}" "Text" "${INSTDIR_1_TEXT}" | ||
| 118 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_1_DIRFIELD}" "State" $${INSTDIR_1}_INSTDIR | ||
| 119 | !else | ||
| 120 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_1_DIRFIELD}" "Type" "Unknown" | ||
| 121 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_1_TEXTFIELD}" "Type" "Unknown" | ||
| 122 | intop $0 $0 - ${INSTDIR_DIRHEIGHT} | ||
| 123 | !endif | ||
| 124 | !ifdef INSTDIR_2 | ||
| 125 | SectionGetFlags ${${INSTDIR_2}_SEC01} $1 | ||
| 126 | !ifdef ${INSTDIR_2}_SEC02 | ||
| 127 | SectionGetFlags ${${INSTDIR_2}_SEC02} $3 | ||
| 128 | IntOp $1 $1 | $3 | ||
| 129 | !endif | ||
| 130 | IntOp $2 $1 & 1 ;just care about the first flag | ||
| 131 | StrCpy $1 "READONLY" | ||
| 132 | StrCmp "$2" "1" +2 | ||
| 133 | StrCpy $1 "DISABLED" | ||
| 134 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_2_TEXTFIELD}" "Flags" "$1" | ||
| 135 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_2_DIRFIELD}" "Flags" "$1" | ||
| 136 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_2_TEXTFIELD}" "Text" "${INSTDIR_2_TEXT}" | ||
| 137 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_2_DIRFIELD}" "State" $${INSTDIR_2}_INSTDIR | ||
| 138 | !else | ||
| 139 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_2_DIRFIELD}" "Type" "Unknown" | ||
| 140 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_2_TEXTFIELD}" "Type" "Unknown" | ||
| 141 | intop $0 $0 - ${INSTDIR_DIRHEIGHT} | ||
| 142 | !endif | ||
| 143 | !ifdef INSTDIR_3 | ||
| 144 | SectionGetFlags ${${INSTDIR_3}_SEC01} $1 | ||
| 145 | !ifdef ${INSTDIR_3}_SEC02 | ||
| 146 | SectionGetFlags ${${INSTDIR_3}_SEC02} $3 | ||
| 147 | IntOp $1 $1 | $3 | ||
| 148 | !endif | ||
| 149 | IntOp $2 $1 & 1 ;just care about the first flag | ||
| 150 | StrCpy $1 "READONLY" | ||
| 151 | StrCmp "$2" "1" +2 | ||
| 152 | StrCpy $1 "DISABLED" | ||
| 153 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_3_TEXTFIELD}" "Flags" "$1" | ||
| 154 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_3_DIRFIELD}" "Flags" "$1" | ||
| 155 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_3_TEXTFIELD}" "Text" "${INSTDIR_3_TEXT}" | ||
| 156 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_3_DIRFIELD}" "State" $${INSTDIR_3}_INSTDIR | ||
| 157 | !else | ||
| 158 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_3_DIRFIELD}" "Type" "Unknown" | ||
| 159 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_3_TEXTFIELD}" "Type" "Unknown" | ||
| 160 | intop $0 $0 - ${INSTDIR_DIRHEIGHT} | ||
| 161 | !endif | ||
| 162 | !ifdef INSTDIR_4 | ||
| 163 | SectionGetFlags ${${INSTDIR_4}_SEC01} $1 | ||
| 164 | !ifdef ${INSTDIR_4}_SEC02 | ||
| 165 | SectionGetFlags ${${INSTDIR_4}_SEC02} $3 | ||
| 166 | IntOp $1 $1 | $3 | ||
| 167 | !endif | ||
| 168 | IntOp $2 $1 & 1 ;just care about the first flag | ||
| 169 | StrCpy $1 "READONLY" | ||
| 170 | StrCmp "$2" "1" +2 | ||
| 171 | StrCpy $1 "DISABLED" | ||
| 172 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_4_TEXTFIELD}" "Flags" "$1" | ||
| 173 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_4_DIRFIELD}" "Flags" "$1" | ||
| 174 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_4_TEXTFIELD}" "Text" "${INSTDIR_4_TEXT}" | ||
| 175 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_4_DIRFIELD}" "State" $${INSTDIR_4}_INSTDIR | ||
| 176 | !else | ||
| 177 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_4_DIRFIELD}" "Type" "Unknown" | ||
| 178 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_4_TEXTFIELD}" "Type" "Unknown" | ||
| 179 | intop $0 $0 - ${INSTDIR_DIRHEIGHT} | ||
| 180 | !endif | ||
| 181 | !ifdef INSTDIR_5 | ||
| 182 | SectionGetFlags ${${INSTDIR_5}_SEC01} $1 | ||
| 183 | !ifdef ${INSTDIR_5}_SEC02 | ||
| 184 | SectionGetFlags ${${INSTDIR_5}_SEC02} $3 | ||
| 185 | IntOp $1 $1 | $3 | ||
| 186 | !endif | ||
| 187 | IntOp $2 $1 & 1 ;just care about the first flag | ||
| 188 | StrCpy $1 "READONLY" | ||
| 189 | StrCmp "$2" "1" +2 | ||
| 190 | StrCpy $1 "DISABLED" | ||
| 191 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_5_TEXTFIELD}" "Flags" "$1" | ||
| 192 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_5_DIRFIELD}" "Flags" "$1" | ||
| 193 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_5_TEXTFIELD}" "Text" "${INSTDIR_5_TEXT}" | ||
| 194 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_5_DIRFIELD}" "State" $${INSTDIR_5}_INSTDIR | ||
| 195 | !else | ||
| 196 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_5_DIRFIELD}" "Type" "Unknown" | ||
| 197 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_5_TEXTFIELD}" "Type" "Unknown" | ||
| 198 | intop $0 $0 - ${INSTDIR_DIRHEIGHT} | ||
| 199 | !endif | ||
| 200 | |||
| 201 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "Field 1" "Bottom" "$0" | ||
| 202 | !insertmacro MUI_INSTALLOPTIONS_DISPLAY "${INSTDIR_INI_FILE}" | ||
| 203 | |||
| 204 | pop $3 | ||
| 205 | pop $2 | ||
| 206 | pop $1 | ||
| 207 | pop $0 | ||
| 208 | FunctionEnd | ||
| 209 | |||
| 210 | Function UpdateInstDirs | ||
| 211 | !ifdef INSTDIR_0 | ||
| 212 | !insertmacro MUI_INSTALLOPTIONS_READ $${INSTDIR_0}_INSTDIR "${INSTDIR_INI_FILE}" "${INSTDIR_0_DIRFIELD}" "State" | ||
| 213 | !ifdef ${INSTDIR_0}_ValidateDirectory | ||
| 214 | call ${INSTDIR_0}_ValidateDirectoryFunc | ||
| 215 | !endif | ||
| 216 | !endif | ||
| 217 | !ifdef INSTDIR_1 | ||
| 218 | !insertmacro MUI_INSTALLOPTIONS_READ $${INSTDIR_1}_INSTDIR "${INSTDIR_INI_FILE}" "${INSTDIR_1_DIRFIELD}" "State" | ||
| 219 | !ifdef ${INSTDIR_1}_ValidateDirectory | ||
| 220 | call ${INSTDIR_1}_ValidateDirectoryFunc | ||
| 221 | !endif | ||
| 222 | !endif | ||
| 223 | !ifdef INSTDIR_2 | ||
| 224 | !insertmacro MUI_INSTALLOPTIONS_READ $${INSTDIR_2}_INSTDIR "${INSTDIR_INI_FILE}" "${INSTDIR_2_DIRFIELD}" "State" | ||
| 225 | !ifdef ${INSTDIR_2}_ValidateDirectory | ||
| 226 | call ${INSTDIR_2}_ValidateDirectoryFunc | ||
| 227 | !endif | ||
| 228 | !endif | ||
| 229 | !ifdef INSTDIR_3 | ||
| 230 | !insertmacro MUI_INSTALLOPTIONS_READ $${INSTDIR_3}_INSTDIR "${INSTDIR_INI_FILE}" "${INSTDIR_3_DIRFIELD}" "State" | ||
| 231 | !ifdef ${INSTDIR_3}_ValidateDirectory | ||
| 232 | call ${INSTDIR_3}_ValidateDirectoryFunc | ||
| 233 | !endif | ||
| 234 | !endif | ||
| 235 | !ifdef INSTDIR_4 | ||
| 236 | !insertmacro MUI_INSTALLOPTIONS_READ $${INSTDIR_4}_INSTDIR "${INSTDIR_INI_FILE}" "${INSTDIR_4_DIRFIELD}" "State" | ||
| 237 | !ifdef ${INSTDIR_4}_ValidateDirectory | ||
| 238 | call ${INSTDIR_4}_ValidateDirectoryFunc | ||
| 239 | !endif | ||
| 240 | !endif | ||
| 241 | !ifdef INSTDIR_5 | ||
| 242 | !insertmacro MUI_INSTALLOPTIONS_READ $${INSTDIR_5}_INSTDIR "${INSTDIR_INI_FILE}" "${INSTDIR_5_DIRFIELD}" "State" | ||
| 243 | !ifdef ${INSTDIR_5}_ValidateDirectory | ||
| 244 | call ${INSTDIR_5}_ValidateDirectoryFunc | ||
| 245 | !endif | ||
| 246 | !endif | ||
| 247 | FunctionEnd | ||
| 248 | !macroend | ||
| 249 | |||
| 250 | !macro INSTDIR_STARTUP | ||
| 251 | !insertmacro MUI_INSTALLOPTIONS_EXTRACT "${INSTDIR_INI_FILE}" | ||
| 252 | !macroend | ||
| 253 | |||
| 254 | !endif ;ifndef INSTDIR_1 |
|   | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ;; | ||
| 3 | ;; Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | ;; All rights reserved. | ||
| 5 | ;; Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | ;; | ||
| 7 | ;; This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | ;; | ||
| 9 | ;; $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | ;; No Commercial Usage | ||
| 11 | ;; This file contains pre-release code and may not be distributed. | ||
| 12 | ;; You may use this file in accordance with the terms and conditions | ||
| 13 | ;; contained in the Technology Preview License Agreement accompanying | ||
| 14 | ;; this package. | ||
| 15 | ;; | ||
| 16 | ;; GNU Lesser General Public License Usage | ||
| 17 | ;; Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | ;; General Public License version 2.1 as published by the Free Software | ||
| 19 | ;; Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | ;; packaging of this file. Please review the following information to | ||
| 21 | ;; ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | ;; will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | ;; | ||
| 24 | ;; In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | ;; rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | ;; version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | ;; | ||
| 28 | ;; If you have questions regarding the use of this file, please contact | ||
| 29 | ;; Nokia at qt-info@nokia.com. | ||
| 30 | ;; | ||
| 31 | ;; | ||
| 32 | ;; | ||
| 33 | ;; | ||
| 34 | ;; | ||
| 35 | ;; | ||
| 36 | ;; | ||
| 37 | ;; | ||
| 38 | ;; $QT_END_LICENSE$ | ||
| 39 | ;; | ||
| 40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 41 | !ifndef LIST_INCLUDE | ||
| 42 | !define LIST_INCLUDE | ||
| 43 | |||
| 44 | ; usage: | ||
| 45 | ; push item | ||
| 46 | ; push list | ||
| 47 | ; call ItemInList | ||
| 48 | ; returns 1 or 0 | ||
| 49 | !macro ItemInList UN | ||
| 50 | Function ${UN}ItemInList | ||
| 51 | exch $0 ;list | ||
| 52 | exch | ||
| 53 | exch $1 ;item | ||
| 54 | push $2 ;counter | ||
| 55 | push $3 ;substr | ||
| 56 | push $4 ;char | ||
| 57 | |||
| 58 | strcpy $3 "" | ||
| 59 | strcpy $2 "0" | ||
| 60 | |||
| 61 | loop: | ||
| 62 | strcpy $4 $0 1 $2 | ||
| 63 | strcmp "$4" "" atend | ||
| 64 | intop $2 $2 + 1 | ||
| 65 | |||
| 66 | strcmp "$4" "|" 0 +4 | ||
| 67 | strcmp "$3" "$1" found | ||
| 68 | strcpy $3 "" ;reset substr | ||
| 69 | goto +2 | ||
| 70 | strcpy $3 "$3$4" ;append char to substr | ||
| 71 | goto loop | ||
| 72 | |||
| 73 | found: | ||
| 74 | strcpy $0 "1" | ||
| 75 | goto done | ||
| 76 | |||
| 77 | atend: | ||
| 78 | strcmp "$3" "$1" found | ||
| 79 | strcpy $0 "0" | ||
| 80 | |||
| 81 | done: | ||
| 82 | pop $4 | ||
| 83 | pop $3 | ||
| 84 | pop $2 | ||
| 85 | pop $1 | ||
| 86 | exch $0 | ||
| 87 | FunctionEnd | ||
| 88 | !macroend | ||
| 89 | |||
| 90 | !insertmacro ItemInList "" | ||
| 91 | !insertmacro ItemInList "un." | ||
| 92 | |||
| 93 | Function GetItemInList | ||
| 94 | exch $0 ;list | ||
| 95 | exch | ||
| 96 | exch $1 ;index | ||
| 97 | push $2 ;counter | ||
| 98 | push $3 ;substr | ||
| 99 | push $4 ;char | ||
| 100 | push $5 ;current index | ||
| 101 | |||
| 102 | strcpy $3 "" | ||
| 103 | strcpy $2 "0" | ||
| 104 | strcpy $5 "1" | ||
| 105 | |||
| 106 | loop: | ||
| 107 | strcpy $4 $0 1 $2 | ||
| 108 | strcmp "$4" "" atend | ||
| 109 | intop $2 $2 + 1 | ||
| 110 | |||
| 111 | strcmp "$4" "|" 0 +5 | ||
| 112 | strcmp "$5" "$1" found | ||
| 113 | strcpy $3 "" ;reset substr | ||
| 114 | intop $5 $5 + 1 | ||
| 115 | goto +2 | ||
| 116 | strcpy $3 "$3$4" ;append char to substr | ||
| 117 | goto loop | ||
| 118 | |||
| 119 | found: | ||
| 120 | strcpy $0 "$3" | ||
| 121 | goto done | ||
| 122 | |||
| 123 | atend: | ||
| 124 | strcmp "$5" "$1" found | ||
| 125 | strcpy $0 "" | ||
| 126 | |||
| 127 | done: | ||
| 128 | pop $5 | ||
| 129 | pop $4 | ||
| 130 | pop $3 | ||
| 131 | pop $2 | ||
| 132 | pop $1 | ||
| 133 | exch $0 | ||
| 134 | FunctionEnd | ||
| 135 | |||
| 136 | !endif ;LIST_INCLUDE |
|   | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ;; | ||
| 3 | ;; Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | ;; All rights reserved. | ||
| 5 | ;; Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | ;; | ||
| 7 | ;; This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | ;; | ||
| 9 | ;; $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | ;; No Commercial Usage | ||
| 11 | ;; This file contains pre-release code and may not be distributed. | ||
| 12 | ;; You may use this file in accordance with the terms and conditions | ||
| 13 | ;; contained in the Technology Preview License Agreement accompanying | ||
| 14 | ;; this package. | ||
| 15 | ;; | ||
| 16 | ;; GNU Lesser General Public License Usage | ||
| 17 | ;; Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | ;; General Public License version 2.1 as published by the Free Software | ||
| 19 | ;; Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | ;; packaging of this file. Please review the following information to | ||
| 21 | ;; ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | ;; will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | ;; | ||
| 24 | ;; In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | ;; rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | ;; version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | ;; | ||
| 28 | ;; If you have questions regarding the use of this file, please contact | ||
| 29 | ;; Nokia at qt-info@nokia.com. | ||
| 30 | ;; | ||
| 31 | ;; | ||
| 32 | ;; | ||
| 33 | ;; | ||
| 34 | ;; | ||
| 35 | ;; | ||
| 36 | ;; | ||
| 37 | ;; | ||
| 38 | ;; $QT_END_LICENSE$ | ||
| 39 | ;; | ||
| 40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 41 | !ifndef QTCOMMON_INCLUDE | ||
| 42 | !define QTCOMMON_INCLUDE | ||
| 43 | |||
| 44 | !macro MakeQtDirectory UN | ||
| 45 | Function ${UN}MakeQtDirectory | ||
| 46 | exch $0 | ||
| 47 | |||
| 48 | push $0 | ||
| 49 | push " " #replace | ||
| 50 | push "-" #with | ||
| 51 | call ${UN}ReplaceString | ||
| 52 | pop $0 | ||
| 53 | |||
| 54 | push $0 | ||
| 55 | push "(" #replace | ||
| 56 | push "" #with | ||
| 57 | call ${UN}ReplaceString | ||
| 58 | pop $0 | ||
| 59 | |||
| 60 | push $0 | ||
| 61 | push ")" #replace | ||
| 62 | push "" #with | ||
| 63 | call ${UN}ReplaceString | ||
| 64 | pop $0 | ||
| 65 | |||
| 66 | exch $0 | ||
| 67 | FunctionEnd | ||
| 68 | !macroend | ||
| 69 | !insertmacro MakeQtDirectory "" | ||
| 70 | !insertmacro MakeQtDirectory "un." | ||
| 71 | |||
| 72 | Function AddStartmenuApplication | ||
| 73 | exch $0 | ||
| 74 | IfFileExists "$0\assistant.exe" 0 +2 | ||
| 75 | CreateShortCut "$SMPROGRAMS\$STARTMENU_STRING\Assistant.lnk" "$0\assistant.exe" | ||
| 76 | IfFileExists "$0\designer.exe" 0 +2 | ||
| 77 | CreateShortCut "$SMPROGRAMS\$STARTMENU_STRING\Designer.lnk" "$0\designer.exe" | ||
| 78 | IfFileExists "$0\linguist.exe" 0 +2 | ||
| 79 | CreateShortCut "$SMPROGRAMS\$STARTMENU_STRING\Linguist.lnk" "$0\linguist.exe" | ||
| 80 | IfFileExists "$0\qtdemo.exe" 0 +2 | ||
| 81 | CreateShortCut "$SMPROGRAMS\$STARTMENU_STRING\Examples and Demos.lnk" "$0\qtdemo.exe" | ||
| 82 | IfFileExists "$0\..\README" 0 ReadMeShortCutFinished | ||
| 83 | IfFileExists "$WINDIR\notepad.exe" +3 | ||
| 84 | CreateShortCut "$SMPROGRAMS\$STARTMENU_STRING\Qt Readme.lnk" "$SYSDIR\notepad.exe" "$0\..\README" | ||
| 85 | goto ReadMeShortCutFinished | ||
| 86 | CreateShortCut "$SMPROGRAMS\$STARTMENU_STRING\Qt Readme.lnk" "$WINDIR\notepad.exe" "$0\..\README" | ||
| 87 | ReadMeShortCutFinished: | ||
| 88 | pop $0 | ||
| 89 | FunctionEnd | ||
| 90 | |||
| 91 | Function un.RemoveStartmenuApplication | ||
| 92 | Delete "$SMPROGRAMS\$STARTMENU_STRING\Assistant.lnk" | ||
| 93 | Delete "$SMPROGRAMS\$STARTMENU_STRING\Designer.lnk" | ||
| 94 | Delete "$SMPROGRAMS\$STARTMENU_STRING\Linguist.lnk" | ||
| 95 | Delete "$SMPROGRAMS\$STARTMENU_STRING\Examples and Demos.lnk" | ||
| 96 | Delete "$SMPROGRAMS\$STARTMENU_STRING\Qt Readme.lnk" | ||
| 97 | FunctionEnd | ||
| 98 | |||
| 99 | #patch the licence information | ||
| 100 | Function PatchLicenseInformation | ||
| 101 | exch $0 | ||
| 102 | push $1 | ||
| 103 | push $2 | ||
| 104 | |||
| 105 | DetailPrint "Patching license information..." | ||
| 106 | |||
| 107 | IfFileExists "$0\src\corelib\global\qconfig.h" 0 +3 | ||
| 108 | strcpy $2 "$0\src\corelib\global\qconfig.h" | ||
| 109 | goto PatchLicensee | ||
| 110 | |||
| 111 | IfFileExists "$0\include\Qt\qconfig.h" 0 PatchConfigPriFile | ||
| 112 | strcpy $2 "$0\include\Qt\qconfig.h" | ||
| 113 | |||
| 114 | PatchLicensee: | ||
| 115 | push $2 | ||
| 116 | push '#define QT_PRODUCT_LICENSEE "' | ||
| 117 | push '#define QT_PRODUCT_LICENSEE "$LICENSEE"$\r$\n' | ||
| 118 | call PatchLine | ||
| 119 | |||
| 120 | push $2 | ||
| 121 | push '#define QT_PRODUCT_LICENSE "' | ||
| 122 | push '#define QT_PRODUCT_LICENSE "$LICENSE_PRODUCT"$\r$\n' | ||
| 123 | call PatchLine | ||
| 124 | |||
| 125 | push $2 | ||
| 126 | ${StrCase} $1 "$LICENSE_PRODUCT" "U" | ||
| 127 | push '# define QT_EDITION QT_EDITION_' | ||
| 128 | push '# define QT_EDITION QT_EDITION_$1$\r$\n' | ||
| 129 | call PatchLine | ||
| 130 | |||
| 131 | PatchConfigPriFile: | ||
| 132 | IfFileExists "$0\mkspecs\qconfig.pri" 0 PatchLicenseProductDone | ||
| 133 | push "$0\mkspecs\qconfig.pri" | ||
| 134 | push "QT_EDITION = " | ||
| 135 | push "QT_EDITION = $LICENSE_PRODUCT$\r$\n" | ||
| 136 | call PatchLine | ||
| 137 | |||
| 138 | PatchLicenseProductDone: | ||
| 139 | pop $2 | ||
| 140 | pop $1 | ||
| 141 | pop $0 | ||
| 142 | FunctionEnd | ||
| 143 | |||
| 144 | Function PatchCommonBinaryFiles | ||
| 145 | exch $2 | ||
| 146 | push $0 | ||
| 147 | push $1 | ||
| 148 | |||
| 149 | IfFileExists "$2\bin\qmake.exe" 0 +5 | ||
| 150 | DetailPrint "Patching paths in qmake..." | ||
| 151 | push $2 | ||
| 152 | push "$2\bin\qmake.exe" | ||
| 153 | call PatchBinaryPaths | ||
| 154 | |||
| 155 | DetailPrint "Patching paths in core..." | ||
| 156 | FindFirst $0 $1 "$2\bin\QtCore*.dll" | ||
| 157 | StrCmp $1 "" ErrorPatching | ||
| 158 | push $2 | ||
| 159 | push "$2\bin\$1" | ||
| 160 | call PatchBinaryPaths | ||
| 161 | |||
| 162 | FindNext $0 $1 | ||
| 163 | StrCmp $1 "" ErrorPatching | ||
| 164 | push $2 | ||
| 165 | push "$2\bin\$1" | ||
| 166 | call PatchBinaryPaths | ||
| 167 | |||
| 168 | ErrorPatching: | ||
| 169 | |||
| 170 | pop $1 | ||
| 171 | pop $0 | ||
| 172 | pop $2 | ||
| 173 | FunctionEnd | ||
| 174 | |||
| 175 | Function PatchBinaryPaths | ||
| 176 | exch $0 | ||
| 177 | exch | ||
| 178 | exch $2 | ||
| 179 | push $1 | ||
| 180 | |||
| 181 | !ifndef OPENSOURCE_BUILD | ||
| 182 | qtnsisext::PatchBinary /NOUNLOAD $0 "qt_prfxpath=" "qt_prfxpath=$2" | ||
| 183 | qtnsisext::PatchBinary /NOUNLOAD $0 "qt_docspath=" "qt_docspath=$2\doc" | ||
| 184 | qtnsisext::PatchBinary /NOUNLOAD $0 "qt_hdrspath=" "qt_hdrspath=$2\include" | ||
| 185 | qtnsisext::PatchBinary /NOUNLOAD $0 "qt_libspath=" "qt_libspath=$2\lib" | ||
| 186 | qtnsisext::PatchBinary /NOUNLOAD $0 "qt_binspath=" "qt_binspath=$2\bin" | ||
| 187 | qtnsisext::PatchBinary /NOUNLOAD $0 "qt_plugpath=" "qt_plugpath=$2\plugins" | ||
| 188 | qtnsisext::PatchBinary /NOUNLOAD $0 "qt_datapath=" "qt_datapath=$2" | ||
| 189 | qtnsisext::PatchBinary /NOUNLOAD $0 "qt_trnspath=" "qt_trnspath=$2\translations" | ||
| 190 | qtnsisext::PatchBinary /NOUNLOAD $0 "qt_xmplpath=" "qt_xmplpath=$2\examples" | ||
| 191 | !ifdef MODULE_LICENSECHECK | ||
| 192 | qtnsisext::PatchBinary /NOUNLOAD $0 "qt_lcnsuser=" "qt_lcnsuser=$LICENSEE" | ||
| 193 | qtnsisext::PatchBinary /NOUNLOAD $0 "qt_lcnsprod=" "qt_lcnsprod=$LICENSE_PRODUCT" | ||
| 194 | !endif | ||
| 195 | qtnsisext::PatchBinary $0 "qt_demopath=" "qt_demopath=$2\demos" | ||
| 196 | !endif | ||
| 197 | |||
| 198 | pop $1 | ||
| 199 | pop $2 | ||
| 200 | pop $0 | ||
| 201 | FunctionEnd | ||
| 202 | |||
| 203 | #patching the prl files | ||
| 204 | Function PatchPrlFiles | ||
| 205 | exch $2 | ||
| 206 | exch | ||
| 207 | exch $3 ;buildDir | ||
| 208 | push $0 | ||
| 209 | push $1 | ||
| 210 | |||
| 211 | FindFirst $0 $1 "$2\lib\*.prl" | ||
| 212 | loop: | ||
| 213 | StrCmp $1 "" done | ||
| 214 | DetailPrint "Patching $1..." | ||
| 215 | |||
| 216 | push "$2\lib\$1" | ||
| 217 | push $3 | ||
| 218 | push $2 | ||
| 219 | call PatchPath | ||
| 220 | |||
| 221 | FindNext $0 $1 | ||
| 222 | Goto loop | ||
| 223 | done: | ||
| 224 | pop $1 | ||
| 225 | pop $0 | ||
| 226 | pop $3 | ||
| 227 | pop $2 | ||
| 228 | FunctionEnd | ||
| 229 | |||
| 230 | # | ||
| 231 | # patch line in text files | ||
| 232 | # push "qtcore4.prl" #Filename | ||
| 233 | # push "#define ..." #START WITH | ||
| 234 | # push "c:\qt" #REPLACE WITH | ||
| 235 | # call PatchLine | ||
| 236 | # | ||
| 237 | Function PatchLine | ||
| 238 | exch $2 ;replacement line | ||
| 239 | exch 2 | ||
| 240 | exch $1 ;Filename | ||
| 241 | exch | ||
| 242 | exch $0 ;start with | ||
| 243 | push $3 ; tmp filename | ||
| 244 | push $4 ; handle (tmp) | ||
| 245 | push $5 ; handle (org) | ||
| 246 | push $6 ; string | ||
| 247 | |||
| 248 | ClearErrors | ||
| 249 | GetTempFileName $3 | ||
| 250 | IfErrors done | ||
| 251 | FileOpen $4 $3 w | ||
| 252 | IfErrors done | ||
| 253 | FileOpen $5 $1 r | ||
| 254 | IfErrors done | ||
| 255 | |||
| 256 | nextline: | ||
| 257 | FileRead $5 $6 | ||
| 258 | IfErrors renameFile | ||
| 259 | push $6 | ||
| 260 | push $0 | ||
| 261 | push $2 | ||
| 262 | call ReplaceLine | ||
| 263 | pop $6 | ||
| 264 | FileWrite $4 $6 | ||
| 265 | goto nextline | ||
| 266 | |||
| 267 | renameFile: | ||
| 268 | FileClose $4 | ||
| 269 | FileClose $5 | ||
| 270 | SetDetailsPrint none | ||
| 271 | Delete $1 | ||
| 272 | Rename $3 $1 | ||
| 273 | SetDetailsPrint both | ||
| 274 | |||
| 275 | done: | ||
| 276 | pop $6 | ||
| 277 | pop $5 | ||
| 278 | pop $4 | ||
| 279 | pop $3 | ||
| 280 | pop $0 | ||
| 281 | pop $1 | ||
| 282 | pop $2 | ||
| 283 | FunctionEnd | ||
| 284 | |||
| 285 | # | ||
| 286 | # replaces a string that starts with something, with another string | ||
| 287 | # push string | ||
| 288 | # push "#define ..." #START WITH | ||
| 289 | # push "c:\qt" #REPLACE WITH | ||
| 290 | # call ReplaceLine | ||
| 291 | # pop $0 #new string | ||
| 292 | # | ||
| 293 | Function ReplaceLine | ||
| 294 | exch $2 ;new line | ||
| 295 | exch 2 | ||
| 296 | exch $1 ;string | ||
| 297 | exch | ||
| 298 | exch $0 ;start with | ||
| 299 | |||
| 300 | push $3 ; tmp string | ||
| 301 | push $4 ; counter | ||
| 302 | push $5 ; strlen | ||
| 303 | |||
| 304 | StrCpy $4 "-1" | ||
| 305 | StrLen $5 $1 | ||
| 306 | |||
| 307 | loop: | ||
| 308 | IntOp $4 $4 + 1 ;increase counter | ||
| 309 | StrCpy $3 $1 $4 ;get substring | ||
| 310 | IntCmp $4 $5 copystring ; check for end | ||
| 311 | StrCmp $3 $0 done ;start with found | ||
| 312 | goto loop | ||
| 313 | |||
| 314 | copystring: | ||
| 315 | StrCpy $2 $1 | ||
| 316 | goto done | ||
| 317 | |||
| 318 | done: | ||
| 319 | pop $5 | ||
| 320 | pop $4 | ||
| 321 | pop $3 | ||
| 322 | pop $0 | ||
| 323 | pop $1 | ||
| 324 | exch $2 | ||
| 325 | FunctionEnd | ||
| 326 | |||
| 327 | # | ||
| 328 | # patch paths in text files | ||
| 329 | # push "qtcore4.prl" #Filename | ||
| 330 | # push "c:\compile" #OLD_QTDIR | ||
| 331 | # push "c:\qt" #QTDIR | ||
| 332 | # call PatchPath | ||
| 333 | # | ||
| 334 | Function PatchPath | ||
| 335 | exch $2 ;NEW | ||
| 336 | exch 2 | ||
| 337 | exch $1 ;Filename | ||
| 338 | exch | ||
| 339 | exch $0 ;OLD | ||
| 340 | push $3 ;readline | ||
| 341 | push $4 ;file 1 | ||
| 342 | push $5 ;file 2 | ||
| 343 | push $6 ;tmpfilename | ||
| 344 | |||
| 345 | push $7 ;forward slash NEW | ||
| 346 | push $8 ;forward slash OLD | ||
| 347 | |||
| 348 | push $2 | ||
| 349 | push "\" | ||
| 350 | push "/" | ||
| 351 | call ReplaceString | ||
| 352 | pop $7 | ||
| 353 | |||
| 354 | push $0 | ||
| 355 | push "\" | ||
| 356 | push "/" | ||
| 357 | call ReplaceString | ||
| 358 | pop $8 | ||
| 359 | |||
| 360 | ClearErrors | ||
| 361 | GetTempFileName $6 | ||
| 362 | IfErrors done | ||
| 363 | FileOpen $5 $6 w | ||
| 364 | IfErrors done | ||
| 365 | FileOpen $4 $1 r | ||
| 366 | IfErrors done | ||
| 367 | |||
| 368 | nextline: | ||
| 369 | FileRead $4 $3 | ||
| 370 | IfErrors renameFile | ||
| 371 | push $3 | ||
| 372 | push $0 | ||
| 373 | push $2 | ||
| 374 | call ReplaceString ;replace backward slash path | ||
| 375 | push $8 | ||
| 376 | push $7 | ||
| 377 | call ReplaceString ;replace forward slash path | ||
| 378 | pop $3 | ||
| 379 | FileWrite $5 $3 | ||
| 380 | goto nextline | ||
| 381 | |||
| 382 | renameFile: | ||
| 383 | FileClose $5 | ||
| 384 | FileClose $4 | ||
| 385 | SetDetailsPrint none | ||
| 386 | Delete $1 | ||
| 387 | Rename $6 $1 | ||
| 388 | SetDetailsPrint both | ||
| 389 | |||
| 390 | done: | ||
| 391 | pop $8 | ||
| 392 | pop $7 | ||
| 393 | pop $6 | ||
| 394 | pop $5 | ||
| 395 | pop $4 | ||
| 396 | pop $3 | ||
| 397 | pop $0 | ||
| 398 | pop $1 | ||
| 399 | pop $2 | ||
| 400 | FunctionEnd | ||
| 401 | |||
| 402 | # | ||
| 403 | # replaces a string with another string | ||
| 404 | # push string | ||
| 405 | # push "c:\qt" #replace | ||
| 406 | # push "c:\compile" #with | ||
| 407 | # call ReplaceString | ||
| 408 | # pop $0 #new string | ||
| 409 | # | ||
| 410 | !macro ReplaceString UN | ||
| 411 | Function ${UN}ReplaceString | ||
| 412 | exch $2 ;NEW | ||
| 413 | exch 2 | ||
| 414 | exch $1 ;string | ||
| 415 | exch | ||
| 416 | exch $0 ;OLD | ||
| 417 | |||
| 418 | push $3 ; tmp string | ||
| 419 | push $4 ; counter | ||
| 420 | push $5 ; result | ||
| 421 | |||
| 422 | push $6 ; old strlen | ||
| 423 | |||
| 424 | StrCpy $4 "-1" | ||
| 425 | StrCpy $5 "" | ||
| 426 | |||
| 427 | StrLen $6 $0 | ||
| 428 | |||
| 429 | loop: | ||
| 430 | IntOp $4 $4 + 1 ;increase counter | ||
| 431 | StrCpy $3 $1 $6 $4 ;get substring | ||
| 432 | StrCmp $3 "" done ; check for end | ||
| 433 | StrCmp $3 $0 replace ;replace if old | ||
| 434 | StrCpy $3 $1 "1" $4 | ||
| 435 | StrCpy $5 $5$3 ;append character to result | ||
| 436 | goto loop | ||
| 437 | |||
| 438 | replace: | ||
| 439 | StrCpy $5 $5$2 ;insert new qtdir | ||
| 440 | IntOp $4 $4 + $6 ;increase offset | ||
| 441 | IntOp $4 $4 - 1 ;decrease offset one more | ||
| 442 | goto loop | ||
| 443 | |||
| 444 | done: | ||
| 445 | StrCpy $2 $5 | ||
| 446 | pop $6 | ||
| 447 | pop $5 | ||
| 448 | pop $4 | ||
| 449 | pop $3 | ||
| 450 | pop $0 | ||
| 451 | pop $1 | ||
| 452 | exch $2 | ||
| 453 | FunctionEnd | ||
| 454 | !macroend | ||
| 455 | !insertmacro ReplaceString "" | ||
| 456 | !insertmacro ReplaceString "un." | ||
| 457 | |||
| 458 | Function CommonCheckDirectory | ||
| 459 | exch $4 | ||
| 460 | exch | ||
| 461 | exch $5 | ||
| 462 | push $0 | ||
| 463 | push $1 | ||
| 464 | push $2 | ||
| 465 | push $3 | ||
| 466 | |||
| 467 | ; check if qt is already installed | ||
| 468 | IfFileExists "$4\bin\qmake.exe" 0 +2 | ||
| 469 | IfFileExists "$4\uninst.exe" qtExistsError | ||
| 470 | |||
| 471 | ; check if directory is empty | ||
| 472 | FindFirst $0 $1 "$4\*" | ||
| 473 | CommonCheckDirectory_FileSearchLoop: | ||
| 474 | StrCmp $1 "" CommonCheckDirectory_DirDoesNotExist | ||
| 475 | StrCmp $1 "." CommonCheckDirectory_ContinueSearchLoop | ||
| 476 | StrCmp $1 ".." CommonCheckDirectory_ContinueSearchLoop | ||
| 477 | goto CommonCheckDirectory_FoundFile | ||
| 478 | CommonCheckDirectory_ContinueSearchLoop: | ||
| 479 | FindNext $0 $1 | ||
| 480 | goto CommonCheckDirectory_FileSearchLoop | ||
| 481 | |||
| 482 | CommonCheckDirectory_FoundFile: | ||
| 483 | FindClose $0 | ||
| 484 | MessageBox MB_YESNO|MB_ICONEXCLAMATION "This directory already has contents. Are you sure you want to use this directory?" IDYES CommonCheckDirectory_DirDoesNotExist | ||
| 485 | Goto errorInDirectory | ||
| 486 | CommonCheckDirectory_DirDoesNotExist: | ||
| 487 | FindClose $0 | ||
| 488 | |||
| 489 | GetInstDirError $0 | ||
| 490 | IntCmp 0 $0 0 instDirError | ||
| 491 | |||
| 492 | StrLen $0 $4 | ||
| 493 | |||
| 494 | !ifdef USE_NODIRLENGTHCHECK | ||
| 495 | StrCpy $1 "400" | ||
| 496 | !else | ||
| 497 | StrLen $1 $5 | ||
| 498 | !endif | ||
| 499 | |||
| 500 | IntCmp $1 $0 0 directoryToLong | ||
| 501 | |||
| 502 | ;check for spaces | ||
| 503 | StrCpy $2 "-1" | ||
| 504 | StrCpy $3 "" | ||
| 505 | |||
| 506 | loop: | ||
| 507 | IntOp $2 $2 + 1 ;increase counter | ||
| 508 | StrCpy $3 $4 "1" $2 ;get char | ||
| 509 | StrCmp $3 "" directoryOk ; check for end | ||
| 510 | StrCmp $3 " " spaceInDirectory ;check for space | ||
| 511 | goto loop | ||
| 512 | |||
| 513 | qtExistsError: | ||
| 514 | MessageBox MB_OK|MB_ICONEXCLAMATION "Qt is already installed in this directory. Please uninstall the previous version and try again." | ||
| 515 | Goto errorInDirectory | ||
| 516 | |||
| 517 | instDirError: | ||
| 518 | MessageBox MB_OK|MB_ICONEXCLAMATION "This is not a valid installation directory." | ||
| 519 | Goto errorInDirectory | ||
| 520 | |||
| 521 | spaceInDirectory: | ||
| 522 | MessageBox MB_OK|MB_ICONEXCLAMATION "The installation path can't contain spaces." | ||
| 523 | Goto errorInDirectory | ||
| 524 | |||
| 525 | directoryToLong: | ||
| 526 | MessageBox MB_OK|MB_ICONEXCLAMATION "The installation directory is to long." | ||
| 527 | Goto errorInDirectory | ||
| 528 | |||
| 529 | errorInDirectory: | ||
| 530 | pop $3 | ||
| 531 | pop $2 | ||
| 532 | pop $1 | ||
| 533 | pop $0 | ||
| 534 | pop $5 | ||
| 535 | pop $4 | ||
| 536 | Abort | ||
| 537 | goto done | ||
| 538 | |||
| 539 | directoryOk: | ||
| 540 | pop $3 | ||
| 541 | pop $2 | ||
| 542 | pop $1 | ||
| 543 | pop $0 | ||
| 544 | pop $5 | ||
| 545 | pop $4 | ||
| 546 | done: | ||
| 547 | FunctionEnd | ||
| 548 | |||
| 549 | !endif ;QTCOMMON_INCLUDE |
|   | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ;; | ||
| 3 | ;; Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | ;; All rights reserved. | ||
| 5 | ;; Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | ;; | ||
| 7 | ;; This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | ;; | ||
| 9 | ;; $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | ;; No Commercial Usage | ||
| 11 | ;; This file contains pre-release code and may not be distributed. | ||
| 12 | ;; You may use this file in accordance with the terms and conditions | ||
| 13 | ;; contained in the Technology Preview License Agreement accompanying | ||
| 14 | ;; this package. | ||
| 15 | ;; | ||
| 16 | ;; GNU Lesser General Public License Usage | ||
| 17 | ;; Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | ;; General Public License version 2.1 as published by the Free Software | ||
| 19 | ;; Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | ;; packaging of this file. Please review the following information to | ||
| 21 | ;; ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | ;; will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | ;; | ||
| 24 | ;; In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | ;; rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | ;; version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | ;; | ||
| 28 | ;; If you have questions regarding the use of this file, please contact | ||
| 29 | ;; Nokia at qt-info@nokia.com. | ||
| 30 | ;; | ||
| 31 | ;; | ||
| 32 | ;; | ||
| 33 | ;; | ||
| 34 | ;; | ||
| 35 | ;; | ||
| 36 | ;; | ||
| 37 | ;; | ||
| 38 | ;; $QT_END_LICENSE$ | ||
| 39 | ;; | ||
| 40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 41 | !ifndef QTENV_INCLUDE | ||
| 42 | !define QTENV_INCLUDE | ||
| 43 | # | ||
| 44 | # creates a qtvars.bat file in $QTDIR\bin | ||
| 45 | # push "vs2003" #compiler | ||
| 46 | # push "c:\qt" #QTDIR | ||
| 47 | # call MakeQtVarsFile | ||
| 48 | # | ||
| 49 | Function MakeQtVarsFile | ||
| 50 | exch $1 ; QTDIR | ||
| 51 | exch | ||
| 52 | exch $3 ; vs version | ||
| 53 | push $0 ; file handle | ||
| 54 | push $2 | ||
| 55 | push $4 | ||
| 56 | |||
| 57 | push $3 | ||
| 58 | call GetMkSpec | ||
| 59 | pop $2 | ||
| 60 | |||
| 61 | ClearErrors | ||
| 62 | FileOpen $0 "$1\bin\qtvars.bat" w | ||
| 63 | IfErrors done | ||
| 64 | FileWrite $0 "@echo off$\r$\n" | ||
| 65 | FileWrite $0 "rem$\r$\n" | ||
| 66 | FileWrite $0 "rem This file is generated$\r$\n" | ||
| 67 | FileWrite $0 "rem$\r$\n" | ||
| 68 | FileWrite $0 "$\r$\n" | ||
| 69 | FileWrite $0 "echo Setting up a Qt environment...$\r$\n" | ||
| 70 | FileWrite $0 "echo -- QTDIR set to $1$\r$\n" | ||
| 71 | FileWrite $0 "echo -- Added $1\bin to PATH$\r$\n" | ||
| 72 | FileWrite $0 "echo -- QMAKESPEC set to $2$\r$\n" | ||
| 73 | FileWrite $0 "$\r$\n" | ||
| 74 | FileWrite $0 "set QTDIR=$1$\r$\n" | ||
| 75 | FileWrite $0 "set PATH=$1\bin;%PATH%$\r$\n" | ||
| 76 | FileWrite $0 "set QMAKESPEC=$2$\r$\n" | ||
| 77 | |||
| 78 | call IsExpressVersion | ||
| 79 | pop $4 | ||
| 80 | strcmp $4 "" noExpressVersion | ||
| 81 | FileWrite $0 "$\r$\n" | ||
| 82 | FileWrite $0 'regedit /e S$$D$$K$$ "HKEY_LOCAL_MACHINE\Software\Microsoft\MicrosoftSDK"$\r$\n' | ||
| 83 | Filewrite $0 'if not exist S$$D$$K$$ goto ENDSDK\r$\n' | ||
| 84 | FileWrite $0 'find "Install Dir" < S$$D$$K$$ > D$$I$$R$$$\r$\n' | ||
| 85 | FileWrite $0 'del S$$D$$K$$$\r$\n' | ||
| 86 | FileWrite $0 'for /f "tokens=2 delims==" %%i in (D$$I$$R$$) do call %%i\setenv$\r$\n' | ||
| 87 | FileWrite $0 'del D$$I$$R$$$\r$\n' | ||
| 88 | Filewrite $0 ':ENDSDK\r$\n' | ||
| 89 | noExpressVersion: | ||
| 90 | |||
| 91 | push $3 | ||
| 92 | call GetVSVarsFile | ||
| 93 | pop $2 | ||
| 94 | strcmp $2 "" novsvars | ||
| 95 | FileWrite $0 "$\r$\n" | ||
| 96 | FileWrite $0 'if not "%1"=="vsvars" goto END$\r$\n' | ||
| 97 | FileWrite $0 'call "$2"$\r$\n' | ||
| 98 | FileWrite $0 ":END$\r$\n" | ||
| 99 | |||
| 100 | FileWrite $0 "$\r$\n" | ||
| 101 | FileWrite $0 'if not "%1"=="vsstart" goto ENDSTARTVS$\r$\n' | ||
| 102 | FileWrite $0 'call "$2"$\r$\n' | ||
| 103 | |||
| 104 | strcmp $3 "vc60" vc60startup | ||
| 105 | FileWrite $0 "devenv /useenv$\r$\n" | ||
| 106 | Goto donevsstartup | ||
| 107 | vc60startup: | ||
| 108 | FileWrite $0 "msdev /useenv$\r$\n" | ||
| 109 | donevsstartup: | ||
| 110 | |||
| 111 | FileWrite $0 ":ENDSTARTVS$\r$\n" | ||
| 112 | |||
| 113 | novsvars: | ||
| 114 | FileWrite $0 "$\r$\n" | ||
| 115 | FileClose $0 | ||
| 116 | done: | ||
| 117 | pop $4 | ||
| 118 | pop $2 | ||
| 119 | pop $0 | ||
| 120 | pop $3 | ||
| 121 | pop $1 | ||
| 122 | FunctionEnd | ||
| 123 | |||
| 124 | Function GetMkSpec | ||
| 125 | exch $0 | ||
| 126 | StrCmp $0 "mingw" MINGW | ||
| 127 | StrCmp $0 "vs2005" VS2005 | ||
| 128 | StrCmp $0 "vs2003" VS2003 | ||
| 129 | StrCmp $0 "vs2002" VS2002 | ||
| 130 | StrCmp $0 "vc60" VS60 | ||
| 131 | StrCmp $0 "icc" ICC | ||
| 132 | |||
| 133 | MINGW: | ||
| 134 | pop $0 | ||
| 135 | push "win32-g++" | ||
| 136 | goto done | ||
| 137 | |||
| 138 | VS2005: | ||
| 139 | pop $0 | ||
| 140 | push "win32-msvc2005" | ||
| 141 | goto done | ||
| 142 | |||
| 143 | VS2003: | ||
| 144 | pop $0 | ||
| 145 | push "win32-msvc.net" | ||
| 146 | goto done | ||
| 147 | |||
| 148 | VS2002: | ||
| 149 | pop $0 | ||
| 150 | push "win32-msvc.net" | ||
| 151 | goto done | ||
| 152 | |||
| 153 | VS60: | ||
| 154 | pop $0 | ||
| 155 | push "win32-msvc" | ||
| 156 | goto done | ||
| 157 | |||
| 158 | ICC: | ||
| 159 | pop $0 | ||
| 160 | push "win32-icc" | ||
| 161 | goto done | ||
| 162 | |||
| 163 | done: | ||
| 164 | FunctionEnd | ||
| 165 | |||
| 166 | !define AD_COMPILER_NAME_VS2005 "Visual Studio .NET 2005" | ||
| 167 | !define AD_COMPILER_NAME_VS2005_EXPRESS "Visual C++ 2005 Express Edition" | ||
| 168 | !define AD_COMPILER_NAME_VS2003 "Visual Studio .NET 2003" | ||
| 169 | !define AD_COMPILER_NAME_VS2002 "Visual Studio .NET 2002" | ||
| 170 | !define AD_COMPILER_NAME_VC60 "Visual Studio 6.0" | ||
| 171 | !define AD_COMPILER_NAME_ICC "Intel C++ Compiler" | ||
| 172 | !define AD_COMPILER_NAME_MINGW "MinGW (Must be in PATH!)" | ||
| 173 | |||
| 174 | Function GetShortCompilerName | ||
| 175 | exch $0 | ||
| 176 | |||
| 177 | strcmp "$0" "${AD_COMPILER_NAME_VS2005}" 0 +3 | ||
| 178 | strcpy $0 "vs2005" | ||
| 179 | goto done | ||
| 180 | |||
| 181 | strcmp "$0" "${AD_COMPILER_NAME_VS2005_EXPRESS}" 0 +3 | ||
| 182 | strcpy $0 "vs2005" | ||
| 183 | goto done | ||
| 184 | |||
| 185 | strcmp "$0" "${AD_COMPILER_NAME_VS2003}" 0 +3 | ||
| 186 | strcpy $0 "vs2003" | ||
| 187 | goto done | ||
| 188 | |||
| 189 | strcmp "$0" "${AD_COMPILER_NAME_VS2002}" 0 +3 | ||
| 190 | strcpy $0 "vs2002" | ||
| 191 | goto done | ||
| 192 | |||
| 193 | strcmp "$0" "${AD_COMPILER_NAME_VC60}" 0 +3 | ||
| 194 | strcpy $0 "vc60" | ||
| 195 | goto done | ||
| 196 | |||
| 197 | strcmp "$0" "${AD_COMPILER_NAME_ICC}" 0 +3 | ||
| 198 | strcpy $0 "icc" | ||
| 199 | goto done | ||
| 200 | |||
| 201 | strcmp "$0" "${AD_COMPILER_NAME_MINGW}" 0 +3 | ||
| 202 | strcpy $0 "mingw" | ||
| 203 | goto done | ||
| 204 | |||
| 205 | strcpy $0 "" ;this is bad! | ||
| 206 | |||
| 207 | done: | ||
| 208 | exch $0 | ||
| 209 | FunctionEnd | ||
| 210 | |||
| 211 | Function IsExpressVersion | ||
| 212 | push $0 | ||
| 213 | ReadRegStr $0 HKLM "Software\Microsoft\VCExpress\8.0" "InstallDir" | ||
| 214 | ClearErrors | ||
| 215 | exch $0 | ||
| 216 | FunctionEnd | ||
| 217 | |||
| 218 | Function AutoDetectCompilers | ||
| 219 | push $0 | ||
| 220 | push $1 | ||
| 221 | |||
| 222 | strcpy $1 "" | ||
| 223 | |||
| 224 | ReadRegStr $0 HKLM "Software\Microsoft\VisualStudio\8.0" "InstallDir" | ||
| 225 | strcmp $0 "" +2 | ||
| 226 | strcpy $1 "$1${AD_COMPILER_NAME_VS2005}|" | ||
| 227 | |||
| 228 | ReadRegStr $0 HKLM "Software\Microsoft\VCExpress\8.0" "InstallDir" | ||
| 229 | strcmp $0 "" +2 | ||
| 230 | strcpy $1 "$1${AD_COMPILER_NAME_VS2005_EXPRESS}|" | ||
| 231 | |||
| 232 | ReadRegStr $0 HKLM "Software\Microsoft\VisualStudio\7.1" "InstallDir" | ||
| 233 | strcmp $0 "" +2 | ||
| 234 | strcpy $1 "$1${AD_COMPILER_NAME_VS2003}|" | ||
| 235 | |||
| 236 | ReadRegStr $0 HKLM "Software\Microsoft\VisualStudio\7.0" "InstallDir" | ||
| 237 | strcmp $0 "" +2 | ||
| 238 | strcpy $1 "$1${AD_COMPILER_NAME_VS2002}|" | ||
| 239 | |||
| 240 | ReadRegStr $0 HKLM "Software\Microsoft\VisualStudio\6.0\Setup" "VsCommonDir" | ||
| 241 | strcmp $0 "" +2 | ||
| 242 | strcpy $1 "$1${AD_COMPILER_NAME_VC60}|" | ||
| 243 | |||
| 244 | ReadRegStr $0 HKLM "Software\Intel\Compilers\C++\80" "Major Version" | ||
| 245 | strcmp $0 "" +2 | ||
| 246 | strcpy $1 "$1${AD_COMPILER_NAME_ICC}|" | ||
| 247 | |||
| 248 | strcpy $1 "$1${AD_COMPILER_NAME_MINGW}" | ||
| 249 | |||
| 250 | exch | ||
| 251 | pop $0 | ||
| 252 | exch $1 | ||
| 253 | FunctionEnd | ||
| 254 | |||
| 255 | Function GetVSVarsFile | ||
| 256 | exch $1 | ||
| 257 | push $0 | ||
| 258 | |||
| 259 | StrCmp $1 "vs2005" VS2005 | ||
| 260 | StrCmp $1 "vs2003" VS2003 | ||
| 261 | StrCmp $1 "vs2002" VS2002 | ||
| 262 | StrCmp $1 "vc60" VS60 | ||
| 263 | |||
| 264 | push "" ;empty string if not found | ||
| 265 | goto done | ||
| 266 | |||
| 267 | VS2005: | ||
| 268 | ReadRegStr $0 HKLM "Software\Microsoft\VisualStudio\8.0\Setup\VS" "ProductDir" | ||
| 269 | StrCmp $0 "" +1 foundVSDir ; found msvc.net 2005 | ||
| 270 | |||
| 271 | ReadRegStr $0 HKLM "Software\Microsoft\VCExpress\8.0\Setup\VS" "ProductDir" | ||
| 272 | StrCmp $0 "" +1 foundVSDir ; found msvc.net 2005 epress | ||
| 273 | |||
| 274 | VS2003: | ||
| 275 | ReadRegStr $0 HKLM "Software\Microsoft\VisualStudio\7.1\Setup\VS" "ProductDir" | ||
| 276 | StrCmp $0 "" +1 foundVSDir ; found msvc.net 2003 | ||
| 277 | |||
| 278 | VS2002: | ||
| 279 | ReadRegStr $0 HKLM "Software\Microsoft\VisualStudio\7.0\Setup\VS" "ProductDir" | ||
| 280 | StrCmp $0 "" +1 foundVSDir ; found msvc.net 2002 | ||
| 281 | |||
| 282 | VS60: | ||
| 283 | ReadRegStr $0 HKLM "Software\Microsoft\VisualStudio\6.0\Setup\Microsoft Visual C++" "ProductDir" | ||
| 284 | StrCmp $0 "" +1 foundVCDir ; found msvc 6.0 | ||
| 285 | |||
| 286 | push "" ;empty string if not found | ||
| 287 | goto done | ||
| 288 | |||
| 289 | foundVSDir: | ||
| 290 | push "$0\Common7\Tools\vsvars32.bat" | ||
| 291 | goto done | ||
| 292 | |||
| 293 | foundVCDir: | ||
| 294 | push "$0\bin\vcvars32.bat" | ||
| 295 | |||
| 296 | done: | ||
| 297 | exch | ||
| 298 | pop $0 | ||
| 299 | exch | ||
| 300 | pop $1 | ||
| 301 | FunctionEnd | ||
| 302 | |||
| 303 | !endif ;QTENV_INCLUDE |
|   | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ;; | ||
| 3 | ;; Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | ;; All rights reserved. | ||
| 5 | ;; Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | ;; | ||
| 7 | ;; This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | ;; | ||
| 9 | ;; $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | ;; No Commercial Usage | ||
| 11 | ;; This file contains pre-release code and may not be distributed. | ||
| 12 | ;; You may use this file in accordance with the terms and conditions | ||
| 13 | ;; contained in the Technology Preview License Agreement accompanying | ||
| 14 | ;; this package. | ||
| 15 | ;; | ||
| 16 | ;; GNU Lesser General Public License Usage | ||
| 17 | ;; Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | ;; General Public License version 2.1 as published by the Free Software | ||
| 19 | ;; Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | ;; packaging of this file. Please review the following information to | ||
| 21 | ;; ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | ;; will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | ;; | ||
| 24 | ;; In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | ;; rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | ;; version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | ;; | ||
| 28 | ;; If you have questions regarding the use of this file, please contact | ||
| 29 | ;; Nokia at qt-info@nokia.com. | ||
| 30 | ;; | ||
| 31 | ;; | ||
| 32 | ;; | ||
| 33 | ;; | ||
| 34 | ;; | ||
| 35 | ;; | ||
| 36 | ;; | ||
| 37 | ;; | ||
| 38 | ;; $QT_END_LICENSE$ | ||
| 39 | ;; | ||
| 40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 41 | !ifndef SYSTEM_INCLUDE | ||
| 42 | !define SYSTEM_INCLUDE | ||
| 43 | |||
| 44 | !define QTVSIP2003_GUID "{789202F4-94F5-4f0a-AA00-73295FEBFD68}" | ||
| 45 | !define QTVSIP2005_GUID "{789202F4-94F5-4f0a-AA00-73295FEBFD69}" | ||
| 46 | |||
| 47 | !define QMSNET2002_GUID "{C174ACCD-D856-4B60-9887-0FF9E841E0EC}" | ||
| 48 | !define QMSNET2003_GUID "{C174ACCE-D857-4B61-9888-0FF9E841E0ED}" | ||
| 49 | !define QMSNET2005_GUID "{14E98DB4-A232-49a4-8EC1-8CE4F6985C73}" | ||
| 50 | |||
| 51 | !macro GetVSInstallationDir UN | ||
| 52 | ; Usage: | ||
| 53 | ; | ||
| 54 | ; push "7.0" | ||
| 55 | ; call GetVSInstallationDir | ||
| 56 | ; pop $0 | ||
| 57 | ; | ||
| 58 | ; If the requested VS version can be found, its | ||
| 59 | ; installation directory is returned. | ||
| 60 | Function ${UN}GetVSInstallationDir | ||
| 61 | Exch $0 | ||
| 62 | Push $1 | ||
| 63 | ReadRegStr $1 HKLM "Software\Microsoft\VisualStudio\$0" "InstallDir" | ||
| 64 | StrCpy $0 $1 | ||
| 65 | StrCmp $0 "" 0 +2 | ||
| 66 | SetErrors | ||
| 67 | Pop $1 | ||
| 68 | Exch $0 | ||
| 69 | FunctionEnd | ||
| 70 | !macroend | ||
| 71 | |||
| 72 | !insertmacro GetVSInstallationDir "" | ||
| 73 | !insertmacro GetVSInstallationDir "un." | ||
| 74 | |||
| 75 | |||
| 76 | !macro IsDotNETInstalled UN | ||
| 77 | ; Usage: | ||
| 78 | ; | ||
| 79 | ; push "8.0" | ||
| 80 | ; call IsDotNETInstalled | ||
| 81 | ; pop $0 | ||
| 82 | ; | ||
| 83 | ; $0 contains the path where the .NET framework is installed. | ||
| 84 | ; If not installation can be found $0 is empty. | ||
| 85 | Function ${UN}IsDotNETInstalled | ||
| 86 | Exch $0 | ||
| 87 | Push $1 | ||
| 88 | Push $2 | ||
| 89 | Push $3 | ||
| 90 | Push $4 | ||
| 91 | Push $5 | ||
| 92 | |||
| 93 | StrCpy $5 $0 | ||
| 94 | |||
| 95 | ReadRegStr $4 HKEY_LOCAL_MACHINE "Software\Microsoft\.NETFramework" "InstallRoot" | ||
| 96 | Push $4 | ||
| 97 | Exch $EXEDIR | ||
| 98 | Exch $EXEDIR | ||
| 99 | Pop $4 | ||
| 100 | |||
| 101 | IfFileExists $4 0 noDotNET | ||
| 102 | StrCpy $0 0 | ||
| 103 | |||
| 104 | EnumStart: | ||
| 105 | EnumRegKey $2 HKEY_LOCAL_MACHINE "Software\Microsoft\.NETFramework\Policy" $0 | ||
| 106 | IntOp $0 $0 + 1 | ||
| 107 | StrCmp $2 "" noDotNET | ||
| 108 | StrCpy $1 0 | ||
| 109 | |||
| 110 | EnumPolicy: | ||
| 111 | EnumRegValue $3 HKEY_LOCAL_MACHINE "Software\Microsoft\.NETFramework\Policy\$2" $1 | ||
| 112 | IntOp $1 $1 + 1 | ||
| 113 | StrCmp $3 "" EnumStart | ||
| 114 | |||
| 115 | StrCmp $5 "8.0" 0 +2 | ||
| 116 | StrCmp $2 "v2.0" 0 EnumPolicy | ||
| 117 | |||
| 118 | IfFileExists "$4\$2.$3" foundDotNET EnumPolicy | ||
| 119 | |||
| 120 | noDotNET: | ||
| 121 | StrCpy $0 0 | ||
| 122 | Goto done | ||
| 123 | |||
| 124 | foundDotNET: | ||
| 125 | StrCpy $0 "$4\$2.$3" | ||
| 126 | |||
| 127 | done: | ||
| 128 | Pop $5 | ||
| 129 | Pop $4 | ||
| 130 | Pop $3 | ||
| 131 | Pop $2 | ||
| 132 | Pop $1 | ||
| 133 | Exch $0 | ||
| 134 | FunctionEnd | ||
| 135 | !macroend | ||
| 136 | |||
| 137 | !insertmacro IsDotNETInstalled "" | ||
| 138 | !insertmacro IsDotNETInstalled "un." | ||
| 139 | |||
| 140 | !macro IsQMsNetInstalled UN | ||
| 141 | ; Usage: | ||
| 142 | ; | ||
| 143 | ; push "8.0" | ||
| 144 | ; call IsQMsNetInstalled | ||
| 145 | ; pop $0 | ||
| 146 | Function ${UN}IsQMsNetInstalled | ||
| 147 | Exch $0 | ||
| 148 | Push $1 | ||
| 149 | Push $2 | ||
| 150 | Push $3 | ||
| 151 | |||
| 152 | StrCmp $0 "7.0" 0 +2 | ||
| 153 | StrCpy $2 "${QMSNET2002_GUID}" | ||
| 154 | StrCmp $0 "7.1" 0 +2 | ||
| 155 | StrCpy $2 "${QMSNET2003_GUID}" | ||
| 156 | StrCmp $0 "8.0" 0 +2 | ||
| 157 | StrCpy $2 "${QMSNET2005_GUID}" | ||
| 158 | |||
| 159 | StrCpy $3 0 | ||
| 160 | |||
| 161 | ReadRegStr $1 HKLM "SOFTWARE\Microsoft\VisualStudio\$0\NewProjectTemplates\TemplateDirs\$2\/2" "TemplatesDir" | ||
| 162 | StrCmp $1 "" +3 | ||
| 163 | StrCpy $3 1 | ||
| 164 | goto done | ||
| 165 | |||
| 166 | ReadRegStr $1 HKCU "SOFTWARE\Microsoft\VisualStudio\$0\NewProjectTemplates\TemplateDirs\$2\/2" "TemplatesDir" | ||
| 167 | StrCmp $1 "" +2 | ||
| 168 | StrCpy $3 1 | ||
| 169 | |||
| 170 | done: | ||
| 171 | StrCpy $0 $3 | ||
| 172 | |||
| 173 | Pop $3 | ||
| 174 | Pop $2 | ||
| 175 | Pop $1 | ||
| 176 | Exch $0 | ||
| 177 | FunctionEnd | ||
| 178 | !macroend | ||
| 179 | |||
| 180 | !insertmacro IsQMsNetInstalled "" | ||
| 181 | !insertmacro IsQMsNetInstalled "un." | ||
| 182 | |||
| 183 | !macro IsQMsDevInstalled UN | ||
| 184 | ; Usage: | ||
| 185 | ; | ||
| 186 | ; call IsQMsDevInstalled | ||
| 187 | ; pop $0 | ||
| 188 | Function ${UN}IsQMsDevInstalled | ||
| 189 | Push $0 | ||
| 190 | Push $1 | ||
| 191 | Push $2 | ||
| 192 | |||
| 193 | StrCpy $0 0 | ||
| 194 | |||
| 195 | ReadRegStr $1 HKLM "SOFTWARE\Microsoft\DevStudio\6.0\AddIns\q4msdev.Q4MsDev.1" "Filename" | ||
| 196 | StrCmp $1 "" +3 | ||
| 197 | StrCpy $0 1 | ||
| 198 | goto done | ||
| 199 | |||
| 200 | ReadRegStr $1 HKCU "SOFTWARE\Microsoft\DevStudio\6.0\AddIns\q4msdev.Q4MsDev.1" "Filename" | ||
| 201 | StrCmp $1 "" +2 | ||
| 202 | StrCpy $0 1 | ||
| 203 | |||
| 204 | done: | ||
| 205 | Pop $2 | ||
| 206 | Pop $1 | ||
| 207 | Exch $0 | ||
| 208 | FunctionEnd | ||
| 209 | !macroend | ||
| 210 | |||
| 211 | !insertmacro IsQMsDevInstalled "" | ||
| 212 | !insertmacro IsQMsDevInstalled "un." | ||
| 213 | |||
| 214 | !macro IsIntegrationInstalled UN | ||
| 215 | ; Usage: | ||
| 216 | ; | ||
| 217 | ; push "8.0" | ||
| 218 | ; call IsIntegrationInstalled | ||
| 219 | ; pop $0 | ||
| 220 | Function ${UN}IsIntegrationInstalled | ||
| 221 | Exch $0 | ||
| 222 | Push $1 | ||
| 223 | Push $2 | ||
| 224 | |||
| 225 | StrCmp $0 "7.1" 0 +2 | ||
| 226 | StrCpy $2 "${QTVSIP2003_GUID}" | ||
| 227 | StrCmp $0 "8.0" 0 +2 | ||
| 228 | StrCpy $2 "${QTVSIP2005_GUID}" | ||
| 229 | |||
| 230 | ReadRegStr $1 HKLM "SOFTWARE\Microsoft\VisualStudio\$0\Packages\$2" "ProductName" | ||
| 231 | |||
| 232 | StrCpy $0 0 | ||
| 233 | StrCmp $1 "" done | ||
| 234 | StrCpy $0 1 | ||
| 235 | |||
| 236 | done: | ||
| 237 | Pop $2 | ||
| 238 | Pop $1 | ||
| 239 | Exch $0 | ||
| 240 | FunctionEnd | ||
| 241 | !macroend | ||
| 242 | |||
| 243 | !insertmacro IsIntegrationInstalled "" | ||
| 244 | !insertmacro IsIntegrationInstalled "un." | ||
| 245 | |||
| 246 | !macro AdministratorRights UN | ||
| 247 | Function ${UN}HasAdminRights | ||
| 248 | push $0 | ||
| 249 | ClearErrors | ||
| 250 | UserInfo::GetAccountType | ||
| 251 | IfErrors Yes ;It's probably Win95 | ||
| 252 | pop $0 | ||
| 253 | StrCmp $0 "Admin" Yes | ||
| 254 | StrCmp $0 "Power" Yes | ||
| 255 | |||
| 256 | StrCpy $0 "false" | ||
| 257 | goto Done | ||
| 258 | |||
| 259 | Yes: | ||
| 260 | StrCpy $0 "true" | ||
| 261 | |||
| 262 | Done: | ||
| 263 | exch $0 | ||
| 264 | FunctionEnd | ||
| 265 | !macroend | ||
| 266 | !insertmacro AdministratorRights "" | ||
| 267 | !insertmacro AdministratorRights "un." | ||
| 268 | |||
| 269 | !endif ;SYSTEM_INCLUDE |
tools/installer/nsis/installer.nsi
(0 / 524)
|   | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ;; | ||
| 3 | ;; Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | ;; All rights reserved. | ||
| 5 | ;; Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | ;; | ||
| 7 | ;; This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | ;; | ||
| 9 | ;; $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | ;; No Commercial Usage | ||
| 11 | ;; This file contains pre-release code and may not be distributed. | ||
| 12 | ;; You may use this file in accordance with the terms and conditions | ||
| 13 | ;; contained in the Technology Preview License Agreement accompanying | ||
| 14 | ;; this package. | ||
| 15 | ;; | ||
| 16 | ;; GNU Lesser General Public License Usage | ||
| 17 | ;; Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | ;; General Public License version 2.1 as published by the Free Software | ||
| 19 | ;; Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | ;; packaging of this file. Please review the following information to | ||
| 21 | ;; ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | ;; will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | ;; | ||
| 24 | ;; In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | ;; rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | ;; version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | ;; | ||
| 28 | ;; If you have questions regarding the use of this file, please contact | ||
| 29 | ;; Nokia at qt-info@nokia.com. | ||
| 30 | ;; | ||
| 31 | ;; | ||
| 32 | ;; | ||
| 33 | ;; | ||
| 34 | ;; | ||
| 35 | ;; | ||
| 36 | ;; | ||
| 37 | ;; | ||
| 38 | ;; $QT_END_LICENSE$ | ||
| 39 | ;; | ||
| 40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 41 | ; Script generated by the HM NIS Edit Script Wizard. | ||
| 42 | |||
| 43 | !include "config.nsh" | ||
| 44 | !include "includes\global.nsh" | ||
| 45 | |||
| 46 | !define PRODUCT_PUBLISHER "Nokia Corporation and/or its subsidiary(-ies)" | ||
| 47 | !define PRODUCT_WEB_SITE "http://qt.nokia.com" | ||
| 48 | |||
| 49 | !define INSTALL_ICON "images\install.ico" | ||
| 50 | !define WELCOME_PAGE_ICON "images\qt-wizard.bmp" | ||
| 51 | !define PAGE_HEADER_ICON "images\qt-header.bmp" | ||
| 52 | |||
| 53 | !include "MUI.nsh" | ||
| 54 | |||
| 55 | ; modules | ||
| 56 | !include "modules\mingw.nsh" | ||
| 57 | !include "modules\opensource.nsh" | ||
| 58 | !include "includes\instdir.nsh" | ||
| 59 | !include "modules\environment.nsh" | ||
| 60 | !include "modules\registeruiext.nsh" | ||
| 61 | !ifndef OPENSOURCE_BUILD | ||
| 62 | !include "modules\msvc.nsh" | ||
| 63 | !include "modules\addin7x.nsh" | ||
| 64 | !include "modules\qsa.nsh" | ||
| 65 | !include "modules\addin60.nsh" | ||
| 66 | !include "modules\debugext.nsh" | ||
| 67 | !include "modules\license.nsh" | ||
| 68 | !include "modules\vsip.nsh" | ||
| 69 | !include "modules\help.nsh" | ||
| 70 | !include "modules\evaluation.nsh" | ||
| 71 | !include "modules\eclipse.nsh" | ||
| 72 | !include "modules\qtjambieclipse.nsh" | ||
| 73 | !endif | ||
| 74 | |||
| 75 | ; MUI Settings | ||
| 76 | !define MUI_ABORTWARNING | ||
| 77 | !define MUI_ICON "${INSTALL_ICON}" | ||
| 78 | !define MUI_UNICON "${INSTALL_ICON}" | ||
| 79 | |||
| 80 | !define MUI_HEADERIMAGE | ||
| 81 | !define MUI_HEADERIMAGE_BITMAP "${PAGE_HEADER_ICON}" | ||
| 82 | !define MUI_HEADERIMAGE_UNBITMAP "${PAGE_HEADER_ICON}" | ||
| 83 | |||
| 84 | !define MUI_WELCOMEFINISHPAGE_BITMAP "${WELCOME_PAGE_ICON}" | ||
| 85 | !define MUI_UNWELCOMEFINISHPAGE_BITMAP "${WELCOME_PAGE_ICON}" | ||
| 86 | |||
| 87 | !ifdef WELCOME_NOTE | ||
| 88 | !define MUI_WELCOMEPAGE_TEXT "${WELCOME_NOTE}" | ||
| 89 | !endif | ||
| 90 | !insertmacro MUI_PAGE_WELCOME | ||
| 91 | !insertmacro OPENSOURCE_INITIALIZE | ||
| 92 | !ifndef OPENSOURCE_BUILD | ||
| 93 | !insertmacro EVALUATION_INITIALIZE | ||
| 94 | !insertmacro LICENSECHECK_INITIALIZE | ||
| 95 | !insertmacro MSVC_INITIALIZE | ||
| 96 | !insertmacro ADDIN7X_INITIALIZE | ||
| 97 | !insertmacro ADDIN60_INITIALIZE | ||
| 98 | !insertmacro DEBUGEXT_INITIALIZE | ||
| 99 | !insertmacro HELP_INITIALIZE | ||
| 100 | !insertmacro VSIP_INITIALIZE | ||
| 101 | !endif | ||
| 102 | |||
| 103 | !ifdef USE_COMPONENT_PAGE | ||
| 104 | !insertmacro MUI_PAGE_COMPONENTS | ||
| 105 | !endif | ||
| 106 | |||
| 107 | !ifdef USE_DIRECTORY_PAGE | ||
| 108 | !insertmacro INSTDIR_INITIALIZE | ||
| 109 | !endif | ||
| 110 | |||
| 111 | !ifdef USE_STARTMENU_PAGE | ||
| 112 | !define MUI_STARTMENUPAGE_NODISABLE | ||
| 113 | !define MUI_STARTMENUPAGE_DEFAULTFOLDER "${DEFAULT_STARTMENU_STRING}" | ||
| 114 | !insertmacro MUI_PAGE_STARTMENU 1 $STARTMENU_STRING | ||
| 115 | !endif | ||
| 116 | |||
| 117 | !insertmacro MINGW_INITIALIZE | ||
| 118 | !insertmacro ENVIRONMENT_INITIALIZE | ||
| 119 | !insertmacro REGISTERUIEXT_INITIALIZE | ||
| 120 | !ifndef OPENSOURCE_BUILD | ||
| 121 | !insertmacro QSA_INITIALIZE | ||
| 122 | !insertmacro ECLIPSE_INITIALIZE | ||
| 123 | !insertmacro QTJAMBIECLIPSE_INITIALIZE | ||
| 124 | !endif | ||
| 125 | |||
| 126 | !define MUI_FINISHPAGE_NOAUTOCLOSE | ||
| 127 | |||
| 128 | !insertmacro MUI_PAGE_INSTFILES | ||
| 129 | !ifdef README_FILE | ||
| 130 | !define MUI_FINISHPAGE_SHOWREADME ${README_FILE} | ||
| 131 | !else | ||
| 132 | !ifdef README_FUNCTION | ||
| 133 | !define MUI_FINISHPAGE_SHOWREADME | ||
| 134 | !define MUI_FINISHPAGE_SHOWREADME_TEXT "${README_FUNCTION}" | ||
| 135 | !define MUI_FINISHPAGE_SHOWREADME_FUNCTION "CommonReadmeFunction" | ||
| 136 | !endif | ||
| 137 | !endif | ||
| 138 | !ifdef RUN_FUNCTION | ||
| 139 | !define MUI_FINISHPAGE_RUN | ||
| 140 | !define MUI_FINISHPAGE_RUN_TEXT "${RUN_FUNCTION}" | ||
| 141 | !define MUI_FINISHPAGE_RUN_FUNCTION "CommonRunFunction" | ||
| 142 | !endif | ||
| 143 | !insertmacro MUI_PAGE_FINISH | ||
| 144 | |||
| 145 | !insertmacro MUI_UNPAGE_WELCOME | ||
| 146 | !define UNINSTALLER_CONFIRM_PAGE "confirmpage.ini" | ||
| 147 | UninstPage custom un.UninstallerConfirmPage | ||
| 148 | !insertmacro MUI_UNPAGE_INSTFILES | ||
| 149 | |||
| 150 | !insertmacro MUI_UNPAGE_FINISH | ||
| 151 | |||
| 152 | !insertmacro MUI_LANGUAGE "English" | ||
| 153 | |||
| 154 | Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" | ||
| 155 | OutFile ${OUTPUT_FILE} | ||
| 156 | |||
| 157 | Section -PreCommonSection | ||
| 158 | !ifdef INSTDIR_0 ;the default one, must exist | ||
| 159 | strcpy $INSTDIR $${INSTDIR_0}_INSTDIR | ||
| 160 | ${StrRep} $PRODUCT_UNIQUE_KEY "${PRODUCT_NAME} ${PRODUCT_VERSION} - $INSTDIR" "\" "_" | ||
| 161 | strcpy $PRODUCT_UNIQUE_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\$PRODUCT_UNIQUE_KEY" | ||
| 162 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_0}_INSTDIR" "$${INSTDIR_0}_INSTDIR" | ||
| 163 | !endif | ||
| 164 | !ifdef INSTDIR_1 | ||
| 165 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_1}_INSTDIR" "$${INSTDIR_1}_INSTDIR" | ||
| 166 | !endif | ||
| 167 | !ifdef INSTDIR_2 | ||
| 168 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_2}_INSTDIR" "$${INSTDIR_2}_INSTDIR" | ||
| 169 | !endif | ||
| 170 | !ifdef INSTDIR_3 | ||
| 171 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_3}_INSTDIR" "$${INSTDIR_3}_INSTDIR" | ||
| 172 | !endif | ||
| 173 | !ifdef INSTDIR_4 | ||
| 174 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_4}_INSTDIR" "$${INSTDIR_4}_INSTDIR" | ||
| 175 | !endif | ||
| 176 | !ifdef INSTDIR_5 | ||
| 177 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_5}_INSTDIR" "$${INSTDIR_5}_INSTDIR" | ||
| 178 | !endif | ||
| 179 | |||
| 180 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "StartMenu" "$STARTMENU_STRING" | ||
| 181 | CreateDirectory "$SMPROGRAMS\$STARTMENU_STRING" | ||
| 182 | SectionEnd | ||
| 183 | |||
| 184 | !insertmacro OPENSOURCE_SECTIONS | ||
| 185 | !insertmacro MINGW_SECTIONS | ||
| 186 | !insertmacro ENVIRONMENT_SECTIONS | ||
| 187 | !insertmacro REGISTERUIEXT_SECTIONS | ||
| 188 | !ifndef OPENSOURCE_BUILD | ||
| 189 | !insertmacro MSVC_SECTIONS | ||
| 190 | !insertmacro ADDIN7X_SECTIONS | ||
| 191 | !insertmacro ADDIN60_SECTIONS | ||
| 192 | !insertmacro VSIP_SECTIONS | ||
| 193 | !insertmacro HELP_SECTIONS | ||
| 194 | !insertmacro DEBUGEXT_SECTIONS | ||
| 195 | !insertmacro LICENSECHECK_SECTIONS | ||
| 196 | !insertmacro QSA_SECTIONS | ||
| 197 | !insertmacro EVALUATION_SECTIONS | ||
| 198 | !insertmacro ECLIPSE_SECTIONS | ||
| 199 | !insertmacro QTJAMBIECLIPSE_SECTIONS | ||
| 200 | !endif | ||
| 201 | |||
| 202 | !insertmacro INSTDIR_FUNCTIONS | ||
| 203 | |||
| 204 | Section -CommonSection | ||
| 205 | WriteUninstaller "$INSTDIR\uninst.exe" | ||
| 206 | |||
| 207 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "DisplayName" "$(^Name)" | ||
| 208 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "UninstallString" "$INSTDIR\uninst.exe" | ||
| 209 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "DisplayVersion" "${PRODUCT_VERSION}" | ||
| 210 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "URLInfoAbout" "${PRODUCT_WEB_SITE}" | ||
| 211 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "Publisher" "${PRODUCT_PUBLISHER}" | ||
| 212 | |||
| 213 | WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" | ||
| 214 | CreateShortCut "$SMPROGRAMS\$STARTMENU_STRING\qt.nokia.com.lnk" "$INSTDIR\${PRODUCT_NAME}.url" | ||
| 215 | CreateShortCut "$SMPROGRAMS\$STARTMENU_STRING\Uninstall ${PRODUCT_NAME} ${PRODUCT_VERSION}.lnk" "$INSTDIR\uninst.exe" | ||
| 216 | SetOutPath "$INSTDIR" | ||
| 217 | SectionEnd | ||
| 218 | |||
| 219 | Function CheckLocalLicenseProduct | ||
| 220 | !ifdef MODULE_LICENSECHECK | ||
| 221 | !insertmacro QSA_CHECKLICENSEPRODUCT | ||
| 222 | !endif | ||
| 223 | FunctionEnd | ||
| 224 | |||
| 225 | Function .onInit | ||
| 226 | StrCpy $STARTMENU_STRING "${DEFAULT_STARTMENU_STRING}" | ||
| 227 | |||
| 228 | !ifdef USE_UNINSTALL_PREVIOUS | ||
| 229 | push "${PRODUCT_NAME}" | ||
| 230 | call GetExistsPreviousInstallationOfProduct | ||
| 231 | exch $0 | ||
| 232 | StrCmp $0 true 0 +3 | ||
| 233 | MessageBox MB_OK|MB_ICONSTOP "A previous installation of ${PRODUCT_NAME} was detected.$\nPlease uninstall it before running this installer." | ||
| 234 | Abort | ||
| 235 | pop $0 | ||
| 236 | !endif | ||
| 237 | |||
| 238 | call SetAdminVar | ||
| 239 | StrCmp "$RUNNING_AS_ADMIN" "false" 0 common_running_as_admin | ||
| 240 | !ifdef USE_ADMIN_CHECK | ||
| 241 | MessageBox MB_OK|MB_ICONSTOP "You need to have administrator rights to install this software!" | ||
| 242 | Abort | ||
| 243 | !endif | ||
| 244 | SetShellVarContext current | ||
| 245 | goto common_admin_check_done | ||
| 246 | common_running_as_admin: | ||
| 247 | SetShellVarContext all | ||
| 248 | common_admin_check_done: | ||
| 249 | |||
| 250 | !insertmacro INSTDIR_STARTUP | ||
| 251 | |||
| 252 | !insertmacro OPENSOURCE_STARTUP | ||
| 253 | !insertmacro ENVIRONMENT_STARTUP | ||
| 254 | !insertmacro REGISTERUIEXT_STARTUP | ||
| 255 | !insertmacro MINGW_STARTUP | ||
| 256 | !ifndef OPENSOURCE_BUILD | ||
| 257 | !insertmacro LICENSECHECK_STARTUP | ||
| 258 | !insertmacro MSVC_STARTUP | ||
| 259 | !insertmacro EVALUATION_STARTUP | ||
| 260 | !insertmacro ADDIN7X_STARTUP | ||
| 261 | !insertmacro ADDIN60_STARTUP | ||
| 262 | !insertmacro DEBUGEXT_STARTUP | ||
| 263 | !insertmacro VSIP_STARTUP | ||
| 264 | !insertmacro HELP_STARTUP | ||
| 265 | !insertmacro QSA_STARTUP | ||
| 266 | !insertmacro ECLIPSE_STARTUP | ||
| 267 | !insertmacro QTJAMBIECLIPSE_STARTUP | ||
| 268 | !endif | ||
| 269 | FunctionEnd | ||
| 270 | |||
| 271 | Function .onInstSuccess | ||
| 272 | !insertmacro ENVIRONMENT_FINISH | ||
| 273 | !insertmacro REGISTERUIEXT_FINISH | ||
| 274 | !insertmacro OPENSOURCE_FINISH | ||
| 275 | !insertmacro MINGW_FINISH | ||
| 276 | !ifndef OPENSOURCE_BUILD | ||
| 277 | !insertmacro LICENSECHECK_FINISH | ||
| 278 | !insertmacro MSVC_FINISH | ||
| 279 | !insertmacro EVALUATION_FINISH | ||
| 280 | !insertmacro ADDIN7X_FINISH | ||
| 281 | !insertmacro ADDIN60_FINISH | ||
| 282 | !insertmacro DEBUGEXT_FINISH | ||
| 283 | !insertmacro VSIP_FINISH | ||
| 284 | !insertmacro HELP_FINISH | ||
| 285 | !insertmacro QSA_FINISH | ||
| 286 | !insertmacro ECLIPSE_FINISH | ||
| 287 | !insertmacro QTJAMBIECLIPSE_FINISH | ||
| 288 | !endif | ||
| 289 | FunctionEnd | ||
| 290 | |||
| 291 | Function un.onUninstSuccess | ||
| 292 | !insertmacro ENVIRONMENT_UNFINISH | ||
| 293 | !insertmacro REGISTERUIEXT_UNFINISH | ||
| 294 | !insertmacro OPENSOURCE_UNFINISH | ||
| 295 | !insertmacro MINGW_UNFINISH | ||
| 296 | !ifndef OPENSOURCE_BUILD | ||
| 297 | !insertmacro LICENSECHECK_UNFINISH | ||
| 298 | !insertmacro MSVC_UNFINISH | ||
| 299 | !insertmacro EVALUATION_UNFINISH | ||
| 300 | !insertmacro ADDIN7X_UNFINISH | ||
| 301 | !insertmacro ADDIN60_UNFINISH | ||
| 302 | !insertmacro DEBUGEXT_UNFINISH | ||
| 303 | !insertmacro VSIP_UNFINISH | ||
| 304 | !insertmacro HELP_UNFINISH | ||
| 305 | !insertmacro QSA_UNFINISH | ||
| 306 | !insertmacro ECLIPSE_UNFINISH | ||
| 307 | !insertmacro QTJAMBIECLIPSE_UNFINISH | ||
| 308 | !endif | ||
| 309 | FunctionEnd | ||
| 310 | |||
| 311 | Function un.onInit | ||
| 312 | call un.SetAdminVar | ||
| 313 | StrCmp "$RUNNING_AS_ADMIN" "false" 0 common_running_as_admin | ||
| 314 | !ifdef USE_ADMIN_CHECK | ||
| 315 | MessageBox MB_OK|MB_ICONSTOP "You do not have the required access rights to uninstall this package." | ||
| 316 | Abort | ||
| 317 | !endif | ||
| 318 | SetShellVarContext current | ||
| 319 | goto common_admin_check_done | ||
| 320 | common_running_as_admin: | ||
| 321 | SetShellVarContext all | ||
| 322 | common_admin_check_done: | ||
| 323 | |||
| 324 | ${UnStrRep} $PRODUCT_UNIQUE_KEY "${PRODUCT_NAME} ${PRODUCT_VERSION} - $INSTDIR" "\" "_" | ||
| 325 | strcpy $PRODUCT_UNIQUE_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\$PRODUCT_UNIQUE_KEY" | ||
| 326 | |||
| 327 | push $0 | ||
| 328 | ClearErrors | ||
| 329 | ReadRegStr $0 SHCTX "$PRODUCT_UNIQUE_KEY" "DisplayName" | ||
| 330 | IfErrors 0 +3 | ||
| 331 | MessageBox MB_OK|MB_ICONSTOP "The uninstaller was unable to find the product to uninstall." | ||
| 332 | Abort | ||
| 333 | pop $0 | ||
| 334 | |||
| 335 | ReadRegStr $STARTMENU_STRING SHCTX "$PRODUCT_UNIQUE_KEY" "StartMenu" | ||
| 336 | StrCmp "$STARTMENU_STRING" "" 0 +2 | ||
| 337 | StrCpy $STARTMENU_STRING "${DEFAULT_STARTMENU_STRING}" | ||
| 338 | |||
| 339 | !ifdef INSTDIR_0 ;the default one, must exist | ||
| 340 | ReadRegStr $${INSTDIR_0}_INSTDIR SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_0}_INSTDIR" | ||
| 341 | !endif | ||
| 342 | !ifdef INSTDIR_1 | ||
| 343 | ReadRegStr $${INSTDIR_1}_INSTDIR SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_1}_INSTDIR" | ||
| 344 | !endif | ||
| 345 | !ifdef INSTDIR_2 | ||
| 346 | ReadRegStr $${INSTDIR_2}_INSTDIR SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_2}_INSTDIR" | ||
| 347 | !endif | ||
| 348 | !ifdef INSTDIR_3 | ||
| 349 | ReadRegStr $${INSTDIR_3}_INSTDIR SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_3}_INSTDIR" | ||
| 350 | !endif | ||
| 351 | !ifdef INSTDIR_4 | ||
| 352 | ReadRegStr $${INSTDIR_4}_INSTDIR SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_4}_INSTDIR" | ||
| 353 | !endif | ||
| 354 | !ifdef INSTDIR_5 | ||
| 355 | ReadRegStr $${INSTDIR_5}_INSTDIR SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_5}_INSTDIR" | ||
| 356 | !endif | ||
| 357 | |||
| 358 | !insertmacro ENVIRONMENT_UNSTARTUP | ||
| 359 | !insertmacro REGISTERUIEXT_UNSTARTUP | ||
| 360 | !insertmacro OPENSOURCE_UNSTARTUP | ||
| 361 | !insertmacro MINGW_UNSTARTUP | ||
| 362 | !ifndef OPENSOURCE_BUILD | ||
| 363 | !insertmacro LICENSECHECK_UNSTARTUP | ||
| 364 | !insertmacro MSVC_UNSTARTUP | ||
| 365 | !insertmacro EVALUATION_UNSTARTUP | ||
| 366 | !insertmacro ADDIN7X_UNSTARTUP | ||
| 367 | !insertmacro ADDIN60_UNSTARTUP | ||
| 368 | !insertmacro DEBUGEXT_UNSTARTUP | ||
| 369 | !insertmacro VSIP_UNSTARTUP | ||
| 370 | !insertmacro HELP_UNSTARTUP | ||
| 371 | !insertmacro QSA_UNSTARTUP | ||
| 372 | !insertmacro ECLIPSE_UNSTARTUP | ||
| 373 | !insertmacro QTJAMBIECLIPSE_UNSTARTUP | ||
| 374 | !endif | ||
| 375 | |||
| 376 | !insertmacro MUI_INSTALLOPTIONS_EXTRACT "${UNINSTALLER_CONFIRM_PAGE}" | ||
| 377 | FunctionEnd | ||
| 378 | |||
| 379 | !insertmacro OPENSOURCE_UNINSTALL | ||
| 380 | !insertmacro ENVIRONMENT_UNINSTALL | ||
| 381 | !insertmacro REGISTERUIEXT_UNINSTALL | ||
| 382 | !insertmacro MINGW_UNINSTALL | ||
| 383 | !ifndef OPENSOURCE_BUILD | ||
| 384 | !insertmacro HELP_UNINSTALL | ||
| 385 | !insertmacro DEBUGEXT_UNINSTALL | ||
| 386 | !insertmacro MSVC_UNINSTALL | ||
| 387 | !insertmacro EVALUATION_UNINSTALL | ||
| 388 | !insertmacro QSA_UNINSTALL | ||
| 389 | !insertmacro ECLIPSE_UNINSTALL | ||
| 390 | !insertmacro QTJAMBIECLIPSE_UNINSTALL | ||
| 391 | !endif | ||
| 392 | |||
| 393 | Section Uninstall | ||
| 394 | !ifndef OPENSOURCE_BUILD | ||
| 395 | !insertmacro LICENSECHECK_UNINSTALL | ||
| 396 | !insertmacro ADDIN7X_UNINSTALL | ||
| 397 | !insertmacro ADDIN60_UNINSTALL | ||
| 398 | !insertmacro VSIP_UNINSTALL | ||
| 399 | !endif | ||
| 400 | |||
| 401 | ; COMMON | ||
| 402 | Delete "$INSTDIR\${PRODUCT_NAME}.url" | ||
| 403 | Delete "$INSTDIR\uninst.exe" | ||
| 404 | Delete "$SMPROGRAMS\$STARTMENU_STRING\Uninstall ${PRODUCT_NAME} ${PRODUCT_VERSION}.lnk" | ||
| 405 | Delete "$SMPROGRAMS\$STARTMENU_STRING\qt.nokia.com.lnk" | ||
| 406 | |||
| 407 | RMDir "$SMPROGRAMS\$STARTMENU_STRING" | ||
| 408 | RMDir "$INSTDIR" | ||
| 409 | |||
| 410 | DeleteRegKey SHCTX "$PRODUCT_UNIQUE_KEY" | ||
| 411 | SectionEnd | ||
| 412 | |||
| 413 | Function CommonRunFunction | ||
| 414 | !ifndef OPENSOURCE_BUILD | ||
| 415 | !insertmacro MSVC_RUN_FUNCTION | ||
| 416 | !insertmacro QSA_RUN_FUNCTION | ||
| 417 | !endif | ||
| 418 | !insertmacro MINGW_RUN_FUNCTION | ||
| 419 | DoneRunFunction: | ||
| 420 | FunctionEnd | ||
| 421 | |||
| 422 | Function CommonReadmeFunction | ||
| 423 | !ifndef OPENSOURCE_BUILD | ||
| 424 | !insertmacro MSVC_README_FUNCTION | ||
| 425 | !endif | ||
| 426 | !insertmacro MINGW_README_FUNCTION | ||
| 427 | DoneReadmeFunction: | ||
| 428 | FunctionEnd | ||
| 429 | |||
| 430 | Function un.UninstallerConfirmPage | ||
| 431 | !insertmacro MUI_HEADER_TEXT "Confirm" "Confirm Uninstallation Directories" | ||
| 432 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${UNINSTALLER_CONFIRM_PAGE}" "Field 2" "Text" "$UninstallerConfirmProduct" | ||
| 433 | !insertmacro MUI_INSTALLOPTIONS_DISPLAY "${UNINSTALLER_CONFIRM_PAGE}" | ||
| 434 | FunctionEnd | ||
| 435 | |||
| 436 | ;pops product name from stack and as result pushes TRUE or FALSE on stack | ||
| 437 | Function GetExistsPreviousInstallationOfProduct | ||
| 438 | exch $0 | ||
| 439 | push $1 | ||
| 440 | push $2 | ||
| 441 | push $3 | ||
| 442 | |||
| 443 | StrCpy $1 0 | ||
| 444 | loop: | ||
| 445 | EnumRegKey $2 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall $1 | ||
| 446 | StrCmp $2 "" no_reg_key_found | ||
| 447 | ${StrStr} $3 $2 $0 | ||
| 448 | StrCmp $3 $2 reg_key_found | ||
| 449 | IntOp $1 $1 + 1 | ||
| 450 | goto loop | ||
| 451 | |||
| 452 | reg_key_found: | ||
| 453 | push true | ||
| 454 | goto done | ||
| 455 | |||
| 456 | no_reg_key_found: | ||
| 457 | push false | ||
| 458 | |||
| 459 | done: | ||
| 460 | exch | ||
| 461 | pop $3 | ||
| 462 | exch | ||
| 463 | pop $2 | ||
| 464 | exch | ||
| 465 | pop $1 | ||
| 466 | exch | ||
| 467 | pop $0 | ||
| 468 | FunctionEnd | ||
| 469 | |||
| 470 | ;pops product name from stack | ||
| 471 | Function WarnIfInstalledProductDetected | ||
| 472 | exch $0 | ||
| 473 | push $0 | ||
| 474 | call GetExistsPreviousInstallationOfProduct | ||
| 475 | exch $1 | ||
| 476 | StrCmp $1 true +1 +3 | ||
| 477 | MessageBox MB_YESNO|MB_ICONQUESTION "An existing installation of $0 was detected.$\nIt is recommended to deinstall $0 before continuing.$\nDo you want to continue this installation nevertheless?" IDYES +2 IDNO +1 | ||
| 478 | Abort | ||
| 479 | pop $1 | ||
| 480 | pop $0 | ||
| 481 | FunctionEnd | ||
| 482 | |||
| 483 | ;sets $RUNNING_AS_ADMIN to "true" if Admin or Power user | ||
| 484 | !macro SetAdminVar UN | ||
| 485 | Function ${UN}SetAdminVar | ||
| 486 | push $0 | ||
| 487 | ClearErrors | ||
| 488 | UserInfo::GetAccountType | ||
| 489 | IfErrors Admin ;It's probably Win95 | ||
| 490 | pop $0 | ||
| 491 | StrCmp $0 "Admin" Admin | ||
| 492 | StrCmp $0 "Power" Admin | ||
| 493 | |||
| 494 | StrCpy $RUNNING_AS_ADMIN "false" | ||
| 495 | goto Done | ||
| 496 | |||
| 497 | Admin: | ||
| 498 | StrCpy $RUNNING_AS_ADMIN "true" | ||
| 499 | |||
| 500 | Done: | ||
| 501 | pop $0 | ||
| 502 | FunctionEnd | ||
| 503 | !macroend | ||
| 504 | !insertmacro SetAdminVar "" | ||
| 505 | !insertmacro SetAdminVar "un." | ||
| 506 | |||
| 507 | !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN | ||
| 508 | !insertmacro OPENSOURCE_DESCRIPTION | ||
| 509 | !insertmacro ENVIRONMENT_DESCRIPTION | ||
| 510 | !insertmacro REGISTERUIEXT_DESCRIPTION | ||
| 511 | !insertmacro MINGW_DESCRIPTION | ||
| 512 | !ifndef OPENSOURCE_BUILD | ||
| 513 | !insertmacro MSVC_DESCRIPTION | ||
| 514 | !insertmacro EVALUATION_DESCRIPTION | ||
| 515 | !insertmacro ADDIN7X_DESCRIPTION | ||
| 516 | !insertmacro ADDIN60_DESCRIPTION | ||
| 517 | !insertmacro DEBUGEXT_DESCRIPTION | ||
| 518 | !insertmacro HELP_DESCRIPTION | ||
| 519 | !insertmacro VSIP_DESCRIPTION | ||
| 520 | !insertmacro QSA_DESCRIPTION | ||
| 521 | !insertmacro ECLIPSE_DESCRIPTION | ||
| 522 | !insertmacro QTJAMBIECLIPSE_DESCRIPTION | ||
| 523 | !endif | ||
| 524 | !insertmacro MUI_FUNCTION_DESCRIPTION_END |
|   | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ;; | ||
| 3 | ;; Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | ;; All rights reserved. | ||
| 5 | ;; Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | ;; | ||
| 7 | ;; This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | ;; | ||
| 9 | ;; $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | ;; No Commercial Usage | ||
| 11 | ;; This file contains pre-release code and may not be distributed. | ||
| 12 | ;; You may use this file in accordance with the terms and conditions | ||
| 13 | ;; contained in the Technology Preview License Agreement accompanying | ||
| 14 | ;; this package. | ||
| 15 | ;; | ||
| 16 | ;; GNU Lesser General Public License Usage | ||
| 17 | ;; Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | ;; General Public License version 2.1 as published by the Free Software | ||
| 19 | ;; Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | ;; packaging of this file. Please review the following information to | ||
| 21 | ;; ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | ;; will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | ;; | ||
| 24 | ;; In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | ;; rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | ;; version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | ;; | ||
| 28 | ;; If you have questions regarding the use of this file, please contact | ||
| 29 | ;; Nokia at qt-info@nokia.com. | ||
| 30 | ;; | ||
| 31 | ;; | ||
| 32 | ;; | ||
| 33 | ;; | ||
| 34 | ;; | ||
| 35 | ;; | ||
| 36 | ;; | ||
| 37 | ;; | ||
| 38 | ;; $QT_END_LICENSE$ | ||
| 39 | ;; | ||
| 40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 41 | !ifdef MODULE_ENVIRONMENT | ||
| 42 | !macro ENVIRONMENT_INITIALIZE | ||
| 43 | !include "includes\writeEnvStr.nsh" | ||
| 44 | !include "includes\writePathStr.nsh" | ||
| 45 | |||
| 46 | !ifndef MODULE_ENVIRONMENT_QTDIR | ||
| 47 | !ifdef MODULE_MINGW | ||
| 48 | !define MODULE_ENVIRONMENT_QTDIR $MINGW_INSTDIR | ||
| 49 | !endif | ||
| 50 | |||
| 51 | !ifdef MODULE_MSVC | ||
| 52 | !define MODULE_ENVIRONMENT_QTDIR $MSVC_INSTDIR | ||
| 53 | !endif | ||
| 54 | !endif | ||
| 55 | |||
| 56 | !define MODULE_ENVIRONMENT_PAGE "envpage.ini" | ||
| 57 | var MODULE_ENVIRONMENT_SET | ||
| 58 | var MODULE_ENVIRONMENT_OLD | ||
| 59 | LangString ModuleEnvironmentTitle ${LANG_ENGLISH} "Configure Environment" | ||
| 60 | LangString ModuleEnvironmentDescription ${LANG_ENGLISH} "Configure Qt environment variables" | ||
| 61 | |||
| 62 | Page custom ModuleEnvironmentPageEnter ModuleEnvironmentPageExit | ||
| 63 | !macroend | ||
| 64 | !macro ENVIRONMENT_SECTIONS | ||
| 65 | Section -ModuleEnvironmentRegister | ||
| 66 | push "${MODULE_ENVIRONMENT_QTDIR}" | ||
| 67 | call RegisterQtEnvVariables | ||
| 68 | SectionEnd | ||
| 69 | |||
| 70 | Function ModuleEnvironmentPageEnter | ||
| 71 | push $0 | ||
| 72 | Call IsNT | ||
| 73 | pop $0 | ||
| 74 | strcmp "$0" "1" +2 | ||
| 75 | abort | ||
| 76 | pop $0 | ||
| 77 | |||
| 78 | !insertmacro MUI_HEADER_TEXT "$(ModuleEnvironmentTitle)" "$(ModuleEnvironmentDescription)" | ||
| 79 | |||
| 80 | strcmp $MODULE_ENVIRONMENT_SET "1" 0 envCheckNo | ||
| 81 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${MODULE_ENVIRONMENT_PAGE}" "Field 2" "State" "1" | ||
| 82 | goto showEnvPage | ||
| 83 | envCheckNo: | ||
| 84 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${MODULE_ENVIRONMENT_PAGE}" "Field 2" "State" "0" | ||
| 85 | |||
| 86 | showEnvPage: | ||
| 87 | !insertmacro MUI_INSTALLOPTIONS_DISPLAY "${MODULE_ENVIRONMENT_PAGE}" | ||
| 88 | FunctionEnd | ||
| 89 | |||
| 90 | Function ModuleEnvironmentPageExit | ||
| 91 | !insertmacro MUI_INSTALLOPTIONS_READ $MODULE_ENVIRONMENT_SET "${MODULE_ENVIRONMENT_PAGE}" "Field 2" "State" | ||
| 92 | FunctionEnd | ||
| 93 | |||
| 94 | Function RegisterQtEnvVariables | ||
| 95 | exch $2 ; the installation path = QTDIR | ||
| 96 | push $0 ; I think WriteEnvStr mixes up $0 and $1 | ||
| 97 | push $1 | ||
| 98 | |||
| 99 | WriteRegDWORD SHCTX "$PRODUCT_UNIQUE_KEY" "QtEnvSet" $MODULE_ENVIRONMENT_SET | ||
| 100 | |||
| 101 | strcmp $MODULE_ENVIRONMENT_SET "1" 0 noenv | ||
| 102 | |||
| 103 | StrCmp $MODULE_ENVIRONMENT_OLD "0" +4 | ||
| 104 | DetailPrint "Removing $MODULE_ENVIRONMENT_OLD\bin from PATH" | ||
| 105 | push "$MODULE_ENVIRONMENT_OLD\bin" | ||
| 106 | Call RemoveFromPath ; remove old qtdir | ||
| 107 | |||
| 108 | DetailPrint "Setting QTDIR to $2" | ||
| 109 | push "QTDIR" | ||
| 110 | push $2 | ||
| 111 | Call WriteEnvStr ; set the QTDIR | ||
| 112 | |||
| 113 | DetailPrint "Adding $2\bin to PATH" | ||
| 114 | push "$2\bin" | ||
| 115 | Call AddToPath ; set the PATH | ||
| 116 | |||
| 117 | |||
| 118 | push "QMAKESPEC" | ||
| 119 | push ${INSTALL_COMPILER} | ||
| 120 | Call GetMkSpec | ||
| 121 | pop $0 | ||
| 122 | DetailPrint "Setting QMAKESPEC to $0" | ||
| 123 | push $0 | ||
| 124 | Call WriteEnvStr ; set the QMAKESPEC | ||
| 125 | |||
| 126 | noenv: | ||
| 127 | pop $1 | ||
| 128 | pop $0 | ||
| 129 | pop $2 | ||
| 130 | FunctionEnd | ||
| 131 | |||
| 132 | Function un.RegisterQtEnvVariables | ||
| 133 | exch $0 ; QTDIR | ||
| 134 | push $1 | ||
| 135 | |||
| 136 | ClearErrors | ||
| 137 | ReadRegDWORD $MODULE_ENVIRONMENT_SET SHCTX "$PRODUCT_UNIQUE_KEY" "QtEnvSet" | ||
| 138 | intcmp $MODULE_ENVIRONMENT_SET 0 noenv | ||
| 139 | |||
| 140 | DetailPrint "Removing $0\bin from the PATH" | ||
| 141 | push "$0\bin" | ||
| 142 | Call un.RemoveFromPath ; removes qt from the path | ||
| 143 | |||
| 144 | ;Check if QTDIR is equal to installdir | ||
| 145 | ExpandEnvStrings $1 "%QTDIR%" | ||
| 146 | |||
| 147 | StrCmp "$0" "$1" removeenv | ||
| 148 | StrCmp "$0\" "$1" removeenv | ||
| 149 | StrCmp "$0" "$1\" removeenv | ||
| 150 | Goto noenv | ||
| 151 | |||
| 152 | removeenv: | ||
| 153 | DetailPrint "Removing QTDIR" | ||
| 154 | push "QTDIR" | ||
| 155 | Call un.DeleteEnvStr ; removes QTDIR | ||
| 156 | |||
| 157 | DetailPrint "Removing QMAKESPEC" | ||
| 158 | push "QMAKESPEC" | ||
| 159 | Call un.DeleteEnvStr ; removes QMAKESPEC | ||
| 160 | |||
| 161 | noenv: | ||
| 162 | pop $1 | ||
| 163 | pop $0 | ||
| 164 | FunctionEnd | ||
| 165 | !macroend | ||
| 166 | !macro ENVIRONMENT_DESCRIPTION | ||
| 167 | !macroend | ||
| 168 | !macro ENVIRONMENT_STARTUP | ||
| 169 | !insertmacro MUI_INSTALLOPTIONS_EXTRACT "${MODULE_ENVIRONMENT_PAGE}" | ||
| 170 | push $0 | ||
| 171 | ExpandEnvStrings $0 "%QTDIR%" | ||
| 172 | |||
| 173 | StrCmp $0 "%QTDIR%" +4 | ||
| 174 | strcpy $MODULE_ENVIRONMENT_SET "0" ;QTDIR exists | ||
| 175 | strcpy $MODULE_ENVIRONMENT_OLD $0 | ||
| 176 | Goto +3 | ||
| 177 | strcpy $MODULE_ENVIRONMENT_SET "1" ;no QTDIR | ||
| 178 | strcpy $MODULE_ENVIRONMENT_OLD "0" | ||
| 179 | |||
| 180 | Call IsNT | ||
| 181 | pop $0 | ||
| 182 | strcmp "$0" "1" +2 | ||
| 183 | strcpy $MODULE_ENVIRONMENT_SET "0" | ||
| 184 | pop $0 | ||
| 185 | !macroend | ||
| 186 | !macro ENVIRONMENT_FINISH | ||
| 187 | !macroend | ||
| 188 | !macro ENVIRONMENT_UNSTARTUP | ||
| 189 | !macroend | ||
| 190 | !macro ENVIRONMENT_UNINSTALL | ||
| 191 | Section -un.ModuleEnvironmentRegister | ||
| 192 | push "${MODULE_ENVIRONMENT_QTDIR}" | ||
| 193 | call un.RegisterQtEnvVariables | ||
| 194 | SectionEnd | ||
| 195 | !macroend | ||
| 196 | !macro ENVIRONMENT_UNFINISH | ||
| 197 | !macroend | ||
| 198 | !else ;MODULE_ENVIRONMENT | ||
| 199 | !macro ENVIRONMENT_INITIALIZE | ||
| 200 | !macroend | ||
| 201 | !macro ENVIRONMENT_SECTIONS | ||
| 202 | !macroend | ||
| 203 | !macro ENVIRONMENT_DESCRIPTION | ||
| 204 | !macroend | ||
| 205 | !macro ENVIRONMENT_STARTUP | ||
| 206 | !macroend | ||
| 207 | !macro ENVIRONMENT_FINISH | ||
| 208 | !macroend | ||
| 209 | !macro ENVIRONMENT_UNSTARTUP | ||
| 210 | !macroend | ||
| 211 | !macro ENVIRONMENT_UNINSTALL | ||
| 212 | !macroend | ||
| 213 | !macro ENVIRONMENT_UNFINISH | ||
| 214 | !macroend | ||
| 215 | !endif ;MODULE_ENVIRONMENT |
|   | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ;; | ||
| 3 | ;; Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | ;; All rights reserved. | ||
| 5 | ;; Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | ;; | ||
| 7 | ;; This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | ;; | ||
| 9 | ;; $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | ;; No Commercial Usage | ||
| 11 | ;; This file contains pre-release code and may not be distributed. | ||
| 12 | ;; You may use this file in accordance with the terms and conditions | ||
| 13 | ;; contained in the Technology Preview License Agreement accompanying | ||
| 14 | ;; this package. | ||
| 15 | ;; | ||
| 16 | ;; GNU Lesser General Public License Usage | ||
| 17 | ;; Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | ;; General Public License version 2.1 as published by the Free Software | ||
| 19 | ;; Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | ;; packaging of this file. Please review the following information to | ||
| 21 | ;; ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | ;; will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | ;; | ||
| 24 | ;; In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | ;; rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | ;; version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | ;; | ||
| 28 | ;; If you have questions regarding the use of this file, please contact | ||
| 29 | ;; Nokia at qt-info@nokia.com. | ||
| 30 | ;; | ||
| 31 | ;; | ||
| 32 | ;; | ||
| 33 | ;; | ||
| 34 | ;; | ||
| 35 | ;; | ||
| 36 | ;; | ||
| 37 | ;; | ||
| 38 | ;; $QT_END_LICENSE$ | ||
| 39 | ;; | ||
| 40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 41 | !ifdef MODULE_MINGW | ||
| 42 | !macro MINGW_INITIALIZE | ||
| 43 | !include "includes\qtcommon.nsh" | ||
| 44 | !ifndef MODULE_MINGW_NAME | ||
| 45 | !define MODULE_MINGW_NAME "Qt" | ||
| 46 | !endif | ||
| 47 | !ifndef MODULE_MINGW_VERSION | ||
| 48 | !define MODULE_MINGW_VERSION "${PRODUCT_VERSION}" | ||
| 49 | !endif | ||
| 50 | !ifndef MODULE_MINGW_BUILDDIR | ||
| 51 | !error "MODULE_MINGW_BUILDDIR not defined!" | ||
| 52 | !endif | ||
| 53 | !ifndef MODULE_MINGW_ROOT | ||
| 54 | !error "MODULE_MINGW_ROOT not defined!" | ||
| 55 | !endif | ||
| 56 | !ifndef MODULE_MINGW_URL | ||
| 57 | !define MODULE_MINGW_URL "ftp://ftp.qt.nokia.com/misc" | ||
| 58 | !endif | ||
| 59 | !ifndef MODULE_MINGW_COMPILERVERSION | ||
| 60 | !define MODULE_MINGW_COMPILERVERSION "3.4.2" | ||
| 61 | !endif | ||
| 62 | !ifndef MODULE_MINGW_LICENSE | ||
| 63 | !define MODULE_MINGW_LICENSE "C:\MinGW\COPYING" | ||
| 64 | !endif | ||
| 65 | |||
| 66 | !define MODULE_MINGW_DOWNLOADPAGE "gwdownload.ini" | ||
| 67 | !define MODULE_MINGW_MIRRORPAGE "gwmirror.ini" | ||
| 68 | !define MODULE_MINGW_RUNTIME_LIB "mingw*.dll" | ||
| 69 | !define MODULE_MINGW_DOWNLOADFILE "MinGW-${MODULE_MINGW_COMPILERVERSION}" | ||
| 70 | |||
| 71 | var MODULE_MINGW_DOWNLOAD | ||
| 72 | var MODULE_MINGW_SOURCEDOWNLOAD | ||
| 73 | var MODULE_MINGW_MIRRORS | ||
| 74 | var MODULE_MINGW_INSTOK | ||
| 75 | var MODULE_MINGW_COMPILERINSTDIR | ||
| 76 | |||
| 77 | LangString ModuleMinGWTitle ${LANG_ENGLISH} "MinGW Installation" | ||
| 78 | LangString ModuleMinGWDescription ${LANG_ENGLISH} "You need MinGW to be able to compile Qt applications." | ||
| 79 | LangString ModuleMinGWMirrorTitle ${LANG_ENGLISH} "MinGW Download Mirror" | ||
| 80 | LangString ModuleMinGWMirrorDescription ${LANG_ENGLISH} "Select a download mirror." | ||
| 81 | |||
| 82 | Page custom ModuleMinGWDownloadPageEnter ModuleMinGWDownloadPageExit | ||
| 83 | !define MUI_PAGE_CUSTOMFUNCTION_PRE ModuleMinGWLicensePageEnter | ||
| 84 | !define MUI_PAGE_HEADER_TEXT "MinGW License Agreement" | ||
| 85 | !define MUI_PAGE_HEADER_SUBTEXT "Please review the license terms before installing MinGW." | ||
| 86 | !define MUI_LICENSEPAGE_TEXT_TOP "MinGW License Information" | ||
| 87 | !insertmacro MUI_PAGE_LICENSE "${MODULE_MINGW_LICENSE}" | ||
| 88 | Page custom ModuleMinGWMirrorPageEnter ModuleMinGWMirrorPageExit | ||
| 89 | |||
| 90 | !include "includes\qtenv.nsh" | ||
| 91 | !macroend | ||
| 92 | |||
| 93 | !macro MINGW_SECTIONS | ||
| 94 | Section "${MODULE_MINGW_NAME} ${MODULE_MINGW_VERSION}" MINGW_SEC01 | ||
| 95 | strcmp "$MINGW_INSTDIR" "" 0 +5 | ||
| 96 | StrCpy $MINGW_INSTDIR "$INSTDIR\${MODULE_MINGW_NAME} ${MODULE_MINGW_VERSION}" | ||
| 97 | push $MINGW_INSTDIR | ||
| 98 | call MakeQtDirectory | ||
| 99 | pop $MINGW_INSTDIR | ||
| 100 | |||
| 101 | WriteRegDWORD SHCTX "$PRODUCT_UNIQUE_KEY" "MINGWInstalled" 1 | ||
| 102 | |||
| 103 | SetOutPath "$MINGW_INSTDIR" | ||
| 104 | SetOverwrite ifnewer | ||
| 105 | !insertmacro MODULE_MINGW_INSTALLFILES | ||
| 106 | |||
| 107 | push "$MINGW_INSTDIR\bin" | ||
| 108 | call AddStartmenuApplication | ||
| 109 | |||
| 110 | push ${MODULE_MINGW_BUILDDIR} | ||
| 111 | push "$MINGW_INSTDIR" | ||
| 112 | call PatchPrlFiles | ||
| 113 | |||
| 114 | IfFileExists "$MINGW_INSTDIR\.qmake.cache" 0 +5 | ||
| 115 | push "$MINGW_INSTDIR\.qmake.cache" | ||
| 116 | push ${MODULE_MINGW_BUILDDIR} | ||
| 117 | push $MINGW_INSTDIR | ||
| 118 | call PatchPath | ||
| 119 | |||
| 120 | IfFileExists "$MINGW_INSTDIR\mkspecs\default\qmake.conf" 0 +5 | ||
| 121 | push "$MINGW_INSTDIR\mkspecs\default\qmake.conf" | ||
| 122 | push ${MODULE_MINGW_BUILDDIR} | ||
| 123 | push $MINGW_INSTDIR | ||
| 124 | call PatchPath | ||
| 125 | |||
| 126 | push $MINGW_INSTDIR | ||
| 127 | call PatchCommonBinaryFiles | ||
| 128 | |||
| 129 | push $MINGW_INSTDIR | ||
| 130 | call PatchLicenseInformation | ||
| 131 | |||
| 132 | WriteRegStr SHCTX "SOFTWARE\Trolltech\Common\${MODULE_MINGW_VERSION}\$LICENSE_PRODUCT" "Key" "$LICENSE_KEY" | ||
| 133 | |||
| 134 | push $MINGW_INSTDIR | ||
| 135 | call ModuleMinGWMakeEnvFile | ||
| 136 | CreateShortCut "$SMPROGRAMS\$STARTMENU_STRING\${MODULE_MINGW_NAME} ${MODULE_MINGW_VERSION} Command Prompt.lnk" "%COMSPEC%" '/k "$MINGW_INSTDIR\bin\qtvars.bat"' | ||
| 137 | CreateShortCut "$SMPROGRAMS\$STARTMENU_STRING\${MODULE_MINGW_NAME} ${MODULE_MINGW_VERSION} (Build Debug Libraries).lnk" "%COMSPEC%" '/k "$MINGW_INSTDIR\bin\qtvars.bat compile_debug"' | ||
| 138 | |||
| 139 | push $0 | ||
| 140 | strcmp $MODULE_MINGW_DOWNLOAD "no" DoneMinGWInstall | ||
| 141 | DetailPrint "Installing MinGW into $MODULE_MINGW_COMPILERINSTDIR" | ||
| 142 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "MinGWInstDir" "$MODULE_MINGW_COMPILERINSTDIR" | ||
| 143 | nsExec::ExecToLog '"$MINGW_INSTDIR\downloads\${MODULE_MINGW_DOWNLOADFILE}.exe" /S /D=$MODULE_MINGW_COMPILERINSTDIR' | ||
| 144 | pop $0 | ||
| 145 | strcmp $MODULE_MINGW_SOURCEDOWNLOAD "no" DoneMinGWInstall | ||
| 146 | DetailPrint "Installing MinGW sources into $MODULE_MINGW_COMPILERINSTDIR\src" | ||
| 147 | WriteRegDWORD SHCTX "$PRODUCT_UNIQUE_KEY" "MinGWSources" 1 | ||
| 148 | nsExec::ExecToLog '"$MINGW_INSTDIR\downloads\${MODULE_MINGW_DOWNLOADFILE}-src.exe" /S /D=$MODULE_MINGW_COMPILERINSTDIR\src' | ||
| 149 | pop $0 | ||
| 150 | DoneMinGWInstall: | ||
| 151 | pop $0 | ||
| 152 | |||
| 153 | DetailPrint "Copying MinGW runtime..." | ||
| 154 | SetDetailsPrint none | ||
| 155 | CopyFiles /SILENT "$MODULE_MINGW_COMPILERINSTDIR\bin\${MODULE_MINGW_RUNTIME_LIB}" "$MINGW_INSTDIR\bin" | ||
| 156 | SetDetailsPrint both | ||
| 157 | SectionEnd | ||
| 158 | |||
| 159 | Function EnableButtons | ||
| 160 | Push $0 | ||
| 161 | GetDlgItem $0 $HWNDPARENT 3 | ||
| 162 | EnableWindow $0 1 | ||
| 163 | GetDlgItem $0 $HWNDPARENT 1 | ||
| 164 | EnableWindow $0 1 | ||
| 165 | GetDlgItem $0 $HWNDPARENT 2 | ||
| 166 | EnableWindow $0 1 | ||
| 167 | Pop $0 | ||
| 168 | FunctionEnd | ||
| 169 | |||
| 170 | Function DisableButtons | ||
| 171 | Push $0 | ||
| 172 | GetDlgItem $0 $HWNDPARENT 3 | ||
| 173 | EnableWindow $0 0 | ||
| 174 | GetDlgItem $0 $HWNDPARENT 1 | ||
| 175 | EnableWindow $0 0 | ||
| 176 | GetDlgItem $0 $HWNDPARENT 2 | ||
| 177 | EnableWindow $0 0 | ||
| 178 | Pop $0 | ||
| 179 | FunctionEnd | ||
| 180 | |||
| 181 | Function ModuleMinGWDownloadPageEnter | ||
| 182 | strcmp $MODULE_MINGW_INSTOK "yes" 0 +2 | ||
| 183 | Abort | ||
| 184 | |||
| 185 | !insertmacro MUI_HEADER_TEXT "$(ModuleMinGWTitle)" "$(ModuleMinGWTitleDescription)" | ||
| 186 | Call UpdateCtrlStates | ||
| 187 | !insertmacro MUI_INSTALLOPTIONS_DISPLAY "${MODULE_MINGW_DOWNLOADPAGE}" | ||
| 188 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${MODULE_MINGW_DOWNLOADPAGE}" "Field 8" "State" "0" | ||
| 189 | FunctionEnd | ||
| 190 | |||
| 191 | Function ModuleMinGWMirrorPageEnter | ||
| 192 | strcmp $MODULE_MINGW_DOWNLOAD "yes" +2 | ||
| 193 | Abort | ||
| 194 | |||
| 195 | !insertmacro MUI_HEADER_TEXT "$(ModuleMinGWMirrorTitle)" "$(ModuleMinGWMirrorDescription)" | ||
| 196 | !insertmacro MUI_INSTALLOPTIONS_DISPLAY "${MODULE_MINGW_MIRRORPAGE}" | ||
| 197 | FunctionEnd | ||
| 198 | |||
| 199 | Function ModuleMinGWLicensePageEnter | ||
| 200 | strcmp $MODULE_MINGW_DOWNLOAD "yes" +2 | ||
| 201 | Abort | ||
| 202 | FunctionEnd | ||
| 203 | |||
| 204 | Function UpdateCtrlStates | ||
| 205 | push $0 | ||
| 206 | push $1 | ||
| 207 | push $2 | ||
| 208 | |||
| 209 | !insertmacro MUI_INSTALLOPTIONS_READ $0 "${MODULE_MINGW_DOWNLOADPAGE}" "Field 8" "State" | ||
| 210 | intop $0 $0 ! | ||
| 211 | FindWindow $2 "#32770" "" $HWNDPARENT | ||
| 212 | GetDlgItem $1 $2 1205 | ||
| 213 | EnableWindow $1 $0 | ||
| 214 | GetDlgItem $1 $2 1202 | ||
| 215 | EnableWindow $1 $0 | ||
| 216 | GetDlgItem $1 $2 1203 | ||
| 217 | EnableWindow $1 $0 | ||
| 218 | |||
| 219 | intop $0 $0 ! | ||
| 220 | GetDlgItem $1 $2 1206 | ||
| 221 | EnableWindow $1 $0 | ||
| 222 | GetDlgItem $1 $2 1207 | ||
| 223 | EnableWindow $1 $0 | ||
| 224 | GetDlgItem $1 $2 1208 | ||
| 225 | EnableWindow $1 $0 | ||
| 226 | |||
| 227 | GetDlgItem $1 $HWNDPARENT 1 | ||
| 228 | IntCmp $0 0 +3 | ||
| 229 | SendMessage $1 ${WM_SETTEXT} 0 "STR:Next >" | ||
| 230 | Goto +2 | ||
| 231 | SendMessage $1 ${WM_SETTEXT} 0 "STR:Install" | ||
| 232 | |||
| 233 | pop $2 | ||
| 234 | pop $1 | ||
| 235 | pop $0 | ||
| 236 | FunctionEnd | ||
| 237 | |||
| 238 | Function ModuleMinGWDownloadPageExit | ||
| 239 | push $0 | ||
| 240 | push $1 | ||
| 241 | |||
| 242 | !insertmacro MUI_INSTALLOPTIONS_READ $0 "${MODULE_MINGW_DOWNLOADPAGE}" "Settings" "State" | ||
| 243 | strcmp "$0" "8" 0 NoNotify | ||
| 244 | Call UpdateCtrlStates | ||
| 245 | abort | ||
| 246 | NoNotify: | ||
| 247 | |||
| 248 | !insertmacro MUI_INSTALLOPTIONS_READ $0 "${MODULE_MINGW_DOWNLOADPAGE}" "Field 8" "State" | ||
| 249 | strcmp "$0" "0" noDownload doDownload | ||
| 250 | |||
| 251 | doDownload: | ||
| 252 | !insertmacro MUI_INSTALLOPTIONS_READ $0 "${MODULE_MINGW_DOWNLOADPAGE}" "Field 6" "State" | ||
| 253 | strcmp $0 "" 0 +3 | ||
| 254 | MessageBox MB_ICONEXCLAMATION|MB_OK "You need to specify an installation directory!" | ||
| 255 | goto tryAgain | ||
| 256 | |||
| 257 | strcpy $MODULE_MINGW_COMPILERINSTDIR $0 | ||
| 258 | strcpy $MODULE_MINGW_DOWNLOAD "yes" | ||
| 259 | CreateDirectory "$MINGW_INSTDIR\downloads" | ||
| 260 | |||
| 261 | Call DisableButtons | ||
| 262 | InetLoad::load /BANNER "Mirror Download" "Downloading mirrors from server..." "${MODULE_MINGW_URL}/${MODULE_MINGW_DOWNLOADFILE}.mirrors" "$MINGW_INSTDIR\downloads\${MODULE_MINGW_DOWNLOADFILE}.mirrors" /END | ||
| 263 | Pop $1 ;Get the return value | ||
| 264 | Call EnableButtons | ||
| 265 | |||
| 266 | StrCmp $1 "OK" +3 | ||
| 267 | MessageBox MB_ICONEXCLAMATION|MB_RETRYCANCEL "Was not able to download mirror list ($1)." IDRETRY tryAgain 0 | ||
| 268 | Quit | ||
| 269 | |||
| 270 | call ModuleMinGWReadMirrors | ||
| 271 | !insertmacro MUI_INSTALLOPTIONS_WRITE ${MODULE_MINGW_MIRRORPAGE} "Field 3" "ListItems" "$MODULE_MINGW_MIRRORS" | ||
| 272 | goto done | ||
| 273 | |||
| 274 | noDownload: | ||
| 275 | strcpy $MODULE_MINGW_DOWNLOAD "no" | ||
| 276 | strcpy $MODULE_MINGW_SOURCEDOWNLOAD "no" | ||
| 277 | call ModuleMinGWChecking | ||
| 278 | strcmp $MODULE_MINGW_INSTOK "yes" done | ||
| 279 | MessageBox MB_ICONEXCLAMATION|MB_YESNO "There is a problem with your MinGW installation:$\r$\n$MODULE_MINGW_INSTOK$\r$\nDo you still want to continue? (Your installation may not work)" IDNO tryAgain | ||
| 280 | goto done | ||
| 281 | |||
| 282 | tryAgain: | ||
| 283 | pop $1 | ||
| 284 | pop $0 | ||
| 285 | Abort | ||
| 286 | |||
| 287 | done: | ||
| 288 | pop $1 | ||
| 289 | pop $0 | ||
| 290 | FunctionEnd | ||
| 291 | |||
| 292 | Function ModuleMinGWMirrorPageExit | ||
| 293 | push $0 | ||
| 294 | push $2 | ||
| 295 | push $1 | ||
| 296 | |||
| 297 | !insertmacro MUI_INSTALLOPTIONS_READ $0 "${MODULE_MINGW_MIRRORPAGE}" "Field 3" "State" | ||
| 298 | strcmp "$0" "" 0 +3 | ||
| 299 | MessageBox MB_ICONEXCLAMATION|MB_OK "You must select a mirror to download from!" | ||
| 300 | goto tryAgain | ||
| 301 | |||
| 302 | push $0 | ||
| 303 | call ModuleMinGWGetMirror | ||
| 304 | pop $0 | ||
| 305 | |||
| 306 | Call DisableButtons | ||
| 307 | InetLoad::load /BANNER "MinGW Download" "Downloading MinGW from server..." "$0/${MODULE_MINGW_DOWNLOADFILE}.exe" "$MINGW_INSTDIR\downloads\${MODULE_MINGW_DOWNLOADFILE}.exe" /END | ||
| 308 | Pop $2 ;get the return value | ||
| 309 | Call EnableButtons | ||
| 310 | |||
| 311 | StrCmp $2 "OK" +3 | ||
| 312 | MessageBox MB_ICONEXCLAMATION|MB_OK "Was not able to download MinGW ($2). Please try another mirror." | ||
| 313 | Goto tryAgain | ||
| 314 | |||
| 315 | !insertmacro MUI_INSTALLOPTIONS_READ $1 "${MODULE_MINGW_MIRRORPAGE}" "Field 2" "State" | ||
| 316 | strcmp "$1" "0" done | ||
| 317 | |||
| 318 | Call DisableButtons | ||
| 319 | InetLoad::load /BANNER "MinGW Sources Download" "Downloading MinGW Sources from server..." "$0/${MODULE_MINGW_DOWNLOADFILE}-src.exe" "$MINGW_INSTDIR\downloads\${MODULE_MINGW_DOWNLOADFILE}-src.exe" /END | ||
| 320 | Pop $2 | ||
| 321 | Call EnableButtons | ||
| 322 | |||
| 323 | strcpy $MODULE_MINGW_SOURCEDOWNLOAD "yes" | ||
| 324 | |||
| 325 | StrCmp $2 "OK" +3 | ||
| 326 | MessageBox MB_ICONEXCLAMATION|MB_RETRYCANCEL "Was not able to download MinGW sources ($2). Please try another mirror?" IDRETRY tryAgain 0 | ||
| 327 | Quit | ||
| 328 | |||
| 329 | goto done | ||
| 330 | |||
| 331 | tryAgain: | ||
| 332 | pop $1 | ||
| 333 | pop $2 | ||
| 334 | pop $0 | ||
| 335 | Abort | ||
| 336 | |||
| 337 | done: | ||
| 338 | pop $1 | ||
| 339 | pop $2 | ||
| 340 | pop $0 | ||
| 341 | FunctionEnd | ||
| 342 | |||
| 343 | Function ModuleMinGWReadMirrors | ||
| 344 | push $0 ;file handle | ||
| 345 | push $1 ;line | ||
| 346 | |||
| 347 | ClearErrors | ||
| 348 | FileOpen $0 "$MINGW_INSTDIR\downloads\${MODULE_MINGW_DOWNLOADFILE}.mirrors" r | ||
| 349 | IfErrors done | ||
| 350 | |||
| 351 | strcpy $MODULE_MINGW_MIRRORS "" | ||
| 352 | |||
| 353 | nextline: | ||
| 354 | FileRead $0 $1 | ||
| 355 | IfErrors done | ||
| 356 | push $1 | ||
| 357 | call ModuleMinGWRemoveNewLine | ||
| 358 | pop $1 | ||
| 359 | strcpy $MODULE_MINGW_MIRRORS "$MODULE_MINGW_MIRRORS|$1" | ||
| 360 | FileRead $0 $1 ;Jump over next line | ||
| 361 | IfErrors done | ||
| 362 | goto nextline | ||
| 363 | |||
| 364 | done: | ||
| 365 | FileClose $0 | ||
| 366 | strlen $1 $MODULE_MINGW_MIRRORS | ||
| 367 | intcmp $1 0 failed failed cleanup | ||
| 368 | |||
| 369 | failed: | ||
| 370 | MessageBox MB_ICONSTOP|MB_OK "Unable to parse mirror list, exiting!" | ||
| 371 | Quit | ||
| 372 | |||
| 373 | cleanup: | ||
| 374 | pop $1 | ||
| 375 | pop $0 | ||
| 376 | FunctionEnd | ||
| 377 | |||
| 378 | #this just removes the last two chars | ||
| 379 | Function ModuleMinGWRemoveNewLine | ||
| 380 | exch $0 | ||
| 381 | push $1 | ||
| 382 | push $2 | ||
| 383 | |||
| 384 | strlen $1 $0 | ||
| 385 | intop $1 $1 - 1 | ||
| 386 | strcpy $2 $0 1 $1 ;get last char | ||
| 387 | |||
| 388 | strcmp "$2" "$\n" 0 +2 | ||
| 389 | intop $1 $1 - 1 | ||
| 390 | |||
| 391 | strcpy $2 $0 1 $1 ;get last char | ||
| 392 | strcmp "$2" "$\r" 0 +2 | ||
| 393 | intop $1 $1 - 1 | ||
| 394 | |||
| 395 | intop $1 $1 + 1 | ||
| 396 | strcpy $0 $0 $1 | ||
| 397 | |||
| 398 | pop $2 | ||
| 399 | pop $1 | ||
| 400 | exch $0 | ||
| 401 | FunctionEnd | ||
| 402 | |||
| 403 | #push serverid | ||
| 404 | #call GetMirror | ||
| 405 | #pop server | ||
| 406 | Function ModuleMinGWGetMirror | ||
| 407 | exch $1 ;id | ||
| 408 | push $0 ;file handle | ||
| 409 | push $2 ;line | ||
| 410 | push $3 ;tmp | ||
| 411 | |||
| 412 | strcpy $3 "" | ||
| 413 | |||
| 414 | ClearErrors | ||
| 415 | FileOpen $0 "$MINGW_INSTDIR\downloads\${MODULE_MINGW_DOWNLOADFILE}.mirrors" r | ||
| 416 | IfErrors done | ||
| 417 | |||
| 418 | nextline: | ||
| 419 | FileRead $0 $2 | ||
| 420 | IfErrors done | ||
| 421 | push $2 | ||
| 422 | call ModuleMinGWRemoveNewLine | ||
| 423 | pop $2 | ||
| 424 | strcmp $1 $2 0 nextline | ||
| 425 | FileRead $0 $3 | ||
| 426 | IfErrors done | ||
| 427 | push $3 | ||
| 428 | call ModuleMinGWRemoveNewLine | ||
| 429 | pop $3 | ||
| 430 | |||
| 431 | done: | ||
| 432 | strcpy $1 $3 | ||
| 433 | FileClose $0 | ||
| 434 | strlen $2 $1 | ||
| 435 | intcmp $2 0 failed failed cleanup | ||
| 436 | |||
| 437 | failed: | ||
| 438 | MessageBox MB_ICONSTOP|MB_OK "Unable to parse mirror list, exiting!" | ||
| 439 | Quit | ||
| 440 | |||
| 441 | cleanup: | ||
| 442 | pop $3 | ||
| 443 | pop $2 | ||
| 444 | pop $0 | ||
| 445 | exch $1 | ||
| 446 | FunctionEnd | ||
| 447 | |||
| 448 | Function ModuleMinGWChecking | ||
| 449 | push $0 | ||
| 450 | |||
| 451 | ### update with plugin | ||
| 452 | strcpy $MODULE_MINGW_INSTOK "yes" | ||
| 453 | strcpy $MODULE_MINGW_COMPILERINSTDIR "C:\MinGW" ;fallback dir | ||
| 454 | |||
| 455 | !insertmacro MUI_INSTALLOPTIONS_READ $0 "${MODULE_MINGW_DOWNLOADPAGE}" "Field 3" "State" | ||
| 456 | strcmp "$0" "" +2 | ||
| 457 | strcpy $MODULE_MINGW_COMPILERINSTDIR $0 | ||
| 458 | |||
| 459 | IfFileExists "$MODULE_MINGW_COMPILERINSTDIR\bin\g++.exe" +3 0 | ||
| 460 | strcpy $MODULE_MINGW_INSTOK "g++ not found in $MODULE_MINGW_COMPILERINSTDIR\bin\" | ||
| 461 | goto DoneChecking | ||
| 462 | |||
| 463 | !ifndef OPENSOURCE_BUILD | ||
| 464 | ; check w32api.h | ||
| 465 | push $MODULE_MINGW_COMPILERINSTDIR | ||
| 466 | qtnsisext::HasValidWin32Library | ||
| 467 | pop $0 | ||
| 468 | strcmp "$0" "1" +3 0 | ||
| 469 | strcpy $MODULE_MINGW_INSTOK "The installer could not find a valid $MODULE_MINGW_COMPILERINSTDIR\include\w32api.h$\r$\n(The supported version is 3.2)" | ||
| 470 | goto DoneChecking | ||
| 471 | |||
| 472 | ; check version | ||
| 473 | push $MODULE_MINGW_COMPILERINSTDIR | ||
| 474 | qtnsisext::GetMinGWVersion | ||
| 475 | pop $0 | ||
| 476 | strcmp "$0" "${MODULE_MINGW_COMPILERVERSION}" +3 0 | ||
| 477 | strcpy $MODULE_MINGW_INSTOK "g++ version found does not match ${MODULE_MINGW_COMPILERVERSION} (Found version $0)." | ||
| 478 | goto DoneChecking | ||
| 479 | !endif | ||
| 480 | |||
| 481 | DoneChecking: | ||
| 482 | pop $0 | ||
| 483 | FunctionEnd | ||
| 484 | |||
| 485 | # | ||
| 486 | # creates a qtvars.bat file in $QTDIR\bin | ||
| 487 | # push "c:\qt" #QTDIR | ||
| 488 | # call MakeQtVarsFile | ||
| 489 | # | ||
| 490 | Function ModuleMinGWMakeEnvFile | ||
| 491 | push $0 ; file handle | ||
| 492 | |||
| 493 | ClearErrors | ||
| 494 | FileOpen $0 "$MINGW_INSTDIR\bin\qtvars.bat" w | ||
| 495 | IfErrors WriteMakeFile | ||
| 496 | FileWrite $0 "@echo off$\r$\n" | ||
| 497 | FileWrite $0 "rem$\r$\n" | ||
| 498 | FileWrite $0 "rem This file is generated$\r$\n" | ||
| 499 | FileWrite $0 "rem$\r$\n" | ||
| 500 | FileWrite $0 "$\r$\n" | ||
| 501 | FileWrite $0 "echo Setting up a MinGW/Qt only environment...$\r$\n" | ||
| 502 | FileWrite $0 "echo -- QTDIR set to $MINGW_INSTDIR$\r$\n" | ||
| 503 | FileWrite $0 "echo -- PATH set to $MINGW_INSTDIR\bin$\r$\n" | ||
| 504 | FileWrite $0 "echo -- Adding $MODULE_MINGW_COMPILERINSTDIR\bin to PATH$\r$\n" | ||
| 505 | FileWrite $0 "echo -- Adding %SystemRoot%\System32 to PATH$\r$\n" | ||
| 506 | FileWrite $0 "echo -- QMAKESPEC set to win32-g++$\r$\n" | ||
| 507 | FileWrite $0 "$\r$\n" | ||
| 508 | FileWrite $0 "set QTDIR=$MINGW_INSTDIR$\r$\n" | ||
| 509 | FileWrite $0 "set PATH=$MINGW_INSTDIR\bin$\r$\n" | ||
| 510 | FileWrite $0 "set PATH=%PATH%;$MODULE_MINGW_COMPILERINSTDIR\bin$\r$\n" | ||
| 511 | FileWrite $0 "set PATH=%PATH%;%SystemRoot%\System32$\r$\n" | ||
| 512 | FileWrite $0 "set QMAKESPEC=win32-g++$\r$\n" | ||
| 513 | FileWrite $0 "$\r$\n" | ||
| 514 | |||
| 515 | FileWrite $0 'if not "%1"=="compile_debug" goto END$\r$\n' | ||
| 516 | FileWrite $0 "cd %QTDIR%$\r$\n" | ||
| 517 | FileWrite $0 "echo This will configure and compile qt in debug.$\r$\n" | ||
| 518 | FileWrite $0 "echo The release libraries will not be recompiled.$\r$\n" | ||
| 519 | FileWrite $0 "pause$\r$\n" | ||
| 520 | FileWrite $0 "configure -plugin-sql-sqlite -plugin-sql-odbc -qt-libpng -qt-libjpeg$\r$\n" | ||
| 521 | FileWrite $0 "cd %QTDIR%\src$\r$\n" | ||
| 522 | FileWrite $0 "qmake$\r$\n" | ||
| 523 | FileWrite $0 "mingw32-make debug$\r$\n" | ||
| 524 | FileWrite $0 ":END$\r$\n" | ||
| 525 | FileClose $0 | ||
| 526 | |||
| 527 | WriteMakeFile: | ||
| 528 | ClearErrors | ||
| 529 | FileOpen $0 "$MINGW_INSTDIR\bin\make.bat" w | ||
| 530 | IfErrors done | ||
| 531 | FileWrite $0 "@echo off$\r$\n" | ||
| 532 | FileWrite $0 "mingw32-make %*$\r$\n" | ||
| 533 | FileClose $0 | ||
| 534 | |||
| 535 | done: | ||
| 536 | ; pop $1 | ||
| 537 | pop $0 | ||
| 538 | FunctionEnd | ||
| 539 | |||
| 540 | Function MINGW_ValidateDirectoryFunc | ||
| 541 | push "${MODULE_MINGW_BUILDDIR}" | ||
| 542 | push $MINGW_INSTDIR | ||
| 543 | call CommonCheckDirectory | ||
| 544 | FunctionEnd | ||
| 545 | !macroend | ||
| 546 | |||
| 547 | !macro MINGW_DESCRIPTION | ||
| 548 | !insertmacro MUI_DESCRIPTION_TEXT ${MINGW_SEC01} "This installs ${MODULE_MINGW_NAME} version ${MODULE_MINGW_VERSION} on your system." | ||
| 549 | !macroend | ||
| 550 | |||
| 551 | !macro MINGW_STARTUP | ||
| 552 | !ifndef MODULE_MINGW_NODEFAULT | ||
| 553 | SectionSetFlags ${MINGW_SEC01} 17 | ||
| 554 | !endif | ||
| 555 | strcpy $MINGW_INSTDIR "C:\Qt\${MODULE_MINGW_VERSION}" | ||
| 556 | push $MINGW_INSTDIR | ||
| 557 | call MakeQtDirectory | ||
| 558 | pop $MINGW_INSTDIR | ||
| 559 | |||
| 560 | !insertmacro MUI_INSTALLOPTIONS_EXTRACT "${MODULE_MINGW_DOWNLOADPAGE}" | ||
| 561 | !insertmacro MUI_INSTALLOPTIONS_EXTRACT "${MODULE_MINGW_MIRRORPAGE}" | ||
| 562 | |||
| 563 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${MODULE_MINGW_DOWNLOADPAGE}" "Field 3" "State" "C:\MinGW" | ||
| 564 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${MODULE_MINGW_DOWNLOADPAGE}" "Field 6" "State" "C:\MinGW" | ||
| 565 | |||
| 566 | strcpy $MODULE_MINGW_DOWNLOAD "no" | ||
| 567 | strcpy $MODULE_MINGW_SOURCEDOWNLOAD "no" | ||
| 568 | !macroend | ||
| 569 | |||
| 570 | !macro MINGW_FINISH | ||
| 571 | !macroend | ||
| 572 | |||
| 573 | !macro MINGW_RUN_FUNCTION | ||
| 574 | ReadRegDWORD $0 SHCTX "$PRODUCT_UNIQUE_KEY" "MINGWInstalled" | ||
| 575 | intcmp $0 1 0 DoneRunFunctionMINGW | ||
| 576 | |||
| 577 | IfFileExists "$MINGW_INSTDIR\bin\qtdemo.exe" 0 +2 | ||
| 578 | Exec '$MINGW_INSTDIR\bin\qtdemo.exe' | ||
| 579 | goto DoneRunFunction ;don't run more applications | ||
| 580 | |||
| 581 | DoneRunFunctionMINGW: | ||
| 582 | !macroend | ||
| 583 | |||
| 584 | !macro MINGW_README_FUNCTION | ||
| 585 | ReadRegDWORD $0 SHCTX "$PRODUCT_UNIQUE_KEY" "MINGWInstalled" | ||
| 586 | intcmp $0 1 0 DoneReadmeFunctionMINGW | ||
| 587 | |||
| 588 | IfFileExists "$MINGW_INSTDIR\bin\assistant.exe" 0 +2 | ||
| 589 | Exec '$MINGW_INSTDIR\bin\assistant.exe' | ||
| 590 | goto DoneReadmeFunction ;don't run more applications | ||
| 591 | |||
| 592 | DoneReadmeFunctionMINGW: | ||
| 593 | !macroend | ||
| 594 | |||
| 595 | !macro MINGW_UNSTARTUP | ||
| 596 | strcmp "$MINGW_INSTDIR" "" 0 +5 | ||
| 597 | StrCpy $MINGW_INSTDIR "$INSTDIR\${MODULE_MINGW_NAME} ${MODULE_MINGW_VERSION}" | ||
| 598 | push $MINGW_INSTDIR | ||
| 599 | call un.MakeQtDirectory | ||
| 600 | pop $MINGW_INSTDIR | ||
| 601 | |||
| 602 | !insertmacro ConfirmOnRemove "MINGWInstalled" "- ${MODULE_MINGW_NAME} ${MODULE_MINGW_VERSION} in $MINGW_INSTDIR" | ||
| 603 | !macroend | ||
| 604 | |||
| 605 | !macro MINGW_UNINSTALL | ||
| 606 | Section un.ModuleMinGW | ||
| 607 | push $0 | ||
| 608 | push $1 | ||
| 609 | |||
| 610 | ReadRegDWORD $0 SHCTX "$PRODUCT_UNIQUE_KEY" "MINGWInstalled" | ||
| 611 | intcmp $0 1 0 DoneUnInstallMINGW | ||
| 612 | |||
| 613 | Delete "$MINGW_INSTDIR\downloads\${MODULE_MINGW_DOWNLOADFILE}.mirrors" | ||
| 614 | |||
| 615 | ReadRegDWORD $0 SHCTX "$PRODUCT_UNIQUE_KEY" "MinGWSources" | ||
| 616 | strcmp $0 "" MinGWSourcesUninstallDone ;not installed | ||
| 617 | Delete "$MINGW_INSTDIR\downloads\${MODULE_MINGW_DOWNLOADFILE}-src.exe" | ||
| 618 | nsExec::ExecToLog '"$0\src\uninst.exe"' | ||
| 619 | pop $1 | ||
| 620 | MinGWSourcesUninstallDone: | ||
| 621 | |||
| 622 | ReadRegStr $0 SHCTX "$PRODUCT_UNIQUE_KEY" "MinGWInstDir" | ||
| 623 | strcmp $0 "" MinGWUninstallDone ;not installed | ||
| 624 | Delete "$MINGW_INSTDIR\downloads\${MODULE_MINGW_DOWNLOADFILE}.exe" | ||
| 625 | nsExec::ExecToLog '"$0\uninst.exe"' | ||
| 626 | pop $1 | ||
| 627 | MinGWUninstallDone: | ||
| 628 | |||
| 629 | DetailPrint "Removing start menu shortcuts" | ||
| 630 | call un.RemoveStartmenuApplication | ||
| 631 | Delete "$SMPROGRAMS\$STARTMENU_STRING\${MODULE_MINGW_NAME} ${MODULE_MINGW_VERSION} Command Prompt.lnk" | ||
| 632 | Delete "$SMPROGRAMS\$STARTMENU_STRING\${MODULE_MINGW_NAME} ${MODULE_MINGW_VERSION} (Build Debug Libraries).lnk" | ||
| 633 | |||
| 634 | Delete "$MINGW_INSTDIR\bin\${MODULE_MINGW_RUNTIME_LIB}" | ||
| 635 | Delete "$MINGW_INSTDIR\bin\make.bat" | ||
| 636 | Delete "$MINGW_INSTDIR\bin\qtvars.bat" | ||
| 637 | |||
| 638 | !insertmacro MODULE_MINGW_REMOVE "$MINGW_INSTDIR" | ||
| 639 | RMDir $MINGW_INSTDIR ;removes it if empty | ||
| 640 | |||
| 641 | DoneUnInstallMINGW: | ||
| 642 | pop $1 | ||
| 643 | pop $0 | ||
| 644 | SectionEnd | ||
| 645 | !macroend | ||
| 646 | !macro MINGW_UNFINISH | ||
| 647 | !macroend | ||
| 648 | !else ;MODULE_MINGW | ||
| 649 | !macro MINGW_INITIALIZE | ||
| 650 | !macroend | ||
| 651 | !macro MINGW_SECTIONS | ||
| 652 | !macroend | ||
| 653 | !macro MINGW_DESCRIPTION | ||
| 654 | !macroend | ||
| 655 | !macro MINGW_STARTUP | ||
| 656 | !macroend | ||
| 657 | !macro MINGW_FINISH | ||
| 658 | !macroend | ||
| 659 | !macro MINGW_RUN_FUNCTION | ||
| 660 | !macroend | ||
| 661 | !macro MINGW_README_FUNCTION | ||
| 662 | !macroend | ||
| 663 | !macro MINGW_UNSTARTUP | ||
| 664 | !macroend | ||
| 665 | !macro MINGW_UNINSTALL | ||
| 666 | !macroend | ||
| 667 | !macro MINGW_UNFINISH | ||
| 668 | !macroend | ||
| 669 | !endif ;MODULE_MINGW |
|   | |||
| 1 | ;; | ||
| 2 | ;; Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 3 | ;; All rights reserved. | ||
| 4 | ;; Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 5 | ;; | ||
| 6 | ;; This file is part of the tools applications of the Qt Toolkit. | ||
| 7 | ;; | ||
| 8 | ;; $QT_BEGIN_LICENSE:LGPL$ | ||
| 9 | ;; No Commercial Usage | ||
| 10 | ;; This file contains pre-release code and may not be distributed. | ||
| 11 | ;; You may use this file in accordance with the terms and conditions | ||
| 12 | ;; contained in the Technology Preview License Agreement accompanying | ||
| 13 | ;; this package. | ||
| 14 | ;; | ||
| 15 | ;; GNU Lesser General Public License Usage | ||
| 16 | ;; Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 17 | ;; General Public License version 2.1 as published by the Free Software | ||
| 18 | ;; Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 19 | ;; packaging of this file. Please review the following information to | ||
| 20 | ;; ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 21 | ;; will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 22 | ;; | ||
| 23 | ;; In addition, as a special exception, Nokia gives you certain additional | ||
| 24 | ;; rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 25 | ;; version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 26 | ;; | ||
| 27 | ;; If you have questions regarding the use of this file, please contact | ||
| 28 | ;; Nokia at qt-info@nokia.com. | ||
| 29 | ;; | ||
| 30 | ;; | ||
| 31 | ;; | ||
| 32 | ;; | ||
| 33 | ;; | ||
| 34 | ;; | ||
| 35 | ;; | ||
| 36 | ;; | ||
| 37 | ;; $QT_END_LICENSE$ | ||
| 38 | ;; | ||
| 39 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 40 | !ifdef MODULE_OPENSOURCE | ||
| 41 | !macro OPENSOURCE_INITIALIZE | ||
| 42 | !define MODULE_OPENSOURCE_PAGE "opensource.ini" | ||
| 43 | page custom ModuleOpenSourceShowPage | ||
| 44 | !macroend | ||
| 45 | !macro OPENSOURCE_SECTIONS | ||
| 46 | Section -ModuleOpenSourceSection | ||
| 47 | !ifdef MODULE_OPENSOURCE_ROOT | ||
| 48 | SetOutPath "$INSTDIR" | ||
| 49 | File "${MODULE_OPENSOURCE_ROOT}\OPENSOURCE-NOTICE.TXT" | ||
| 50 | !endif | ||
| 51 | SectionEnd | ||
| 52 | |||
| 53 | Function ModuleOpenSourceShowPage | ||
| 54 | !insertmacro MUI_HEADER_TEXT "Open Source Edition" " " | ||
| 55 | !insertmacro MUI_INSTALLOPTIONS_DISPLAY "${MODULE_OPENSOURCE_PAGE}" | ||
| 56 | strcpy "$LICENSEE" "Open Source" | ||
| 57 | strcpy "$LICENSE_PRODUCT" "OpenSource" | ||
| 58 | FunctionEnd | ||
| 59 | !macroend | ||
| 60 | !macro OPENSOURCE_DESCRIPTION | ||
| 61 | !macroend | ||
| 62 | !macro OPENSOURCE_STARTUP | ||
| 63 | !insertmacro MUI_INSTALLOPTIONS_EXTRACT "${MODULE_OPENSOURCE_PAGE}" | ||
| 64 | !macroend | ||
| 65 | !macro OPENSOURCE_FINISH | ||
| 66 | !macroend | ||
| 67 | !macro OPENSOURCE_UNSTARTUP | ||
| 68 | !macroend | ||
| 69 | !macro OPENSOURCE_UNINSTALL | ||
| 70 | Section -un.ModuleOpenSourceSection | ||
| 71 | Delete "$SMPROGRAMS\$STARTMENU_STRING\OpenSource Notice.lnk" | ||
| 72 | SectionEnd | ||
| 73 | !macroend | ||
| 74 | !macro OPENSOURCE_UNFINISH | ||
| 75 | !macroend | ||
| 76 | !else ;MODULE_OPENSOURCE | ||
| 77 | !macro OPENSOURCE_INITIALIZE | ||
| 78 | !macroend | ||
| 79 | !macro OPENSOURCE_SECTIONS | ||
| 80 | !macroend | ||
| 81 | !macro OPENSOURCE_DESCRIPTION | ||
| 82 | !macroend | ||
| 83 | !macro OPENSOURCE_STARTUP | ||
| 84 | !macroend | ||
| 85 | !macro OPENSOURCE_FINISH | ||
| 86 | !macroend | ||
| 87 | !macro OPENSOURCE_UNSTARTUP | ||
| 88 | !macroend | ||
| 89 | !macro OPENSOURCE_UNINSTALL | ||
| 90 | !macroend | ||
| 91 | !macro OPENSOURCE_UNFINISH | ||
| 92 | !macroend | ||
| 93 | !endif ;MODULE_OPENSOURCE |
|   | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ;; | ||
| 3 | ;; Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | ;; All rights reserved. | ||
| 5 | ;; Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | ;; | ||
| 7 | ;; This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | ;; | ||
| 9 | ;; $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | ;; No Commercial Usage | ||
| 11 | ;; This file contains pre-release code and may not be distributed. | ||
| 12 | ;; You may use this file in accordance with the terms and conditions | ||
| 13 | ;; contained in the Technology Preview License Agreement accompanying | ||
| 14 | ;; this package. | ||
| 15 | ;; | ||
| 16 | ;; GNU Lesser General Public License Usage | ||
| 17 | ;; Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | ;; General Public License version 2.1 as published by the Free Software | ||
| 19 | ;; Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | ;; packaging of this file. Please review the following information to | ||
| 21 | ;; ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | ;; will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | ;; | ||
| 24 | ;; In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | ;; rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | ;; version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | ;; | ||
| 28 | ;; If you have questions regarding the use of this file, please contact | ||
| 29 | ;; Nokia at qt-info@nokia.com. | ||
| 30 | ;; | ||
| 31 | ;; | ||
| 32 | ;; | ||
| 33 | ;; | ||
| 34 | ;; | ||
| 35 | ;; | ||
| 36 | ;; | ||
| 37 | ;; | ||
| 38 | ;; $QT_END_LICENSE$ | ||
| 39 | ;; | ||
| 40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 41 | ; UI Extension Module | ||
| 42 | |||
| 43 | !ifdef MODULE_REGISTERUIEXT | ||
| 44 | |||
| 45 | ;------------------------------------------------------------------------------------------------ | ||
| 46 | !macro REGISTERUIEXT_INITIALIZE | ||
| 47 | !include "includes\system.nsh" | ||
| 48 | |||
| 49 | !ifndef MODULE_REGISTERUIEXT_QTDIR | ||
| 50 | !ifdef MODULE_MINGW | ||
| 51 | !define MODULE_REGISTERUIEXT_QTDIR $MINGW_INSTDIR | ||
| 52 | !endif | ||
| 53 | |||
| 54 | !ifdef MODULE_MSVC | ||
| 55 | !define MODULE_REGISTERUIEXT_QTDIR $MSVC_INSTDIR | ||
| 56 | !endif | ||
| 57 | !endif | ||
| 58 | |||
| 59 | !define MODULE_REGISTERUIEXT_INTERNAL_DESC "Trolltech.DesignerForm" | ||
| 60 | !define MODULE_REGISTERUIEXT_DESC_DESIGNER "Open with Qt Designer" | ||
| 61 | !define MODULE_REGISTERUIEXT_DESC_DEVENV "Open with Visual Studio .NET" | ||
| 62 | !define MODULE_REGISTERUIEXT_FILE_DESC "Qt Designer File" | ||
| 63 | !macroend | ||
| 64 | |||
| 65 | ;------------------------------------------------------------------------------------------------ | ||
| 66 | |||
| 67 | !macro REGISTERUIEXT_SECTIONS | ||
| 68 | |||
| 69 | Function GetSelectedVSIP | ||
| 70 | Push $0 | ||
| 71 | Push $1 | ||
| 72 | |||
| 73 | StrCpy $0 "" | ||
| 74 | !ifdef MODULE_VSIP | ||
| 75 | !ifdef VSIP_SEC01 | ||
| 76 | SectionGetFlags ${VSIP_SEC01} $1 | ||
| 77 | IntOp $1 $1 & 1 | ||
| 78 | IntCmp $1 0 +2 | ||
| 79 | StrCpy $0 "7.1" | ||
| 80 | !endif | ||
| 81 | !ifdef VSIP_SEC02 | ||
| 82 | SectionGetFlags ${VSIP_SEC02} $1 | ||
| 83 | IntOp $1 $1 & 1 | ||
| 84 | IntCmp $1 0 +2 | ||
| 85 | StrCpy $0 "8.0" | ||
| 86 | !endif | ||
| 87 | !endif | ||
| 88 | |||
| 89 | Pop $1 | ||
| 90 | Exch $0 | ||
| 91 | FunctionEnd | ||
| 92 | |||
| 93 | SectionGroup "File Associations" | ||
| 94 | Section "UI Files (*.ui)" REGISTERUIEXT_SEC01 | ||
| 95 | call ModuleRegisterUI | ||
| 96 | SectionEnd | ||
| 97 | SectionGroupEnd | ||
| 98 | |||
| 99 | Function ModuleRegisterUI | ||
| 100 | push $0 | ||
| 101 | push $1 | ||
| 102 | |||
| 103 | WriteRegDWORD SHCTX "$PRODUCT_UNIQUE_KEY" "UIExtRegistered" 1 | ||
| 104 | WriteRegStr HKCR "${MODULE_REGISTERUIEXT_INTERNAL_DESC}" "" "${MODULE_REGISTERUIEXT_FILE_DESC}" | ||
| 105 | WriteRegStr HKCR "${MODULE_REGISTERUIEXT_INTERNAL_DESC}\shell" "" "open" | ||
| 106 | |||
| 107 | Call GetSelectedVSIP | ||
| 108 | Pop $1 | ||
| 109 | |||
| 110 | StrCmp "$1" "" 0 RegisterVSIP | ||
| 111 | WriteRegStr HKCR "${MODULE_REGISTERUIEXT_INTERNAL_DESC}\shell\open" "" "${MODULE_REGISTERUIEXT_DESC_DESIGNER}" | ||
| 112 | WriteRegStr HKCR "${MODULE_REGISTERUIEXT_INTERNAL_DESC}\shell\open\command" "" "${MODULE_REGISTERUIEXT_QTDIR}\bin\designer.exe $\"%1$\"" | ||
| 113 | WriteRegStr HKCR "${MODULE_REGISTERUIEXT_INTERNAL_DESC}\DefaultIcon" "" "${MODULE_REGISTERUIEXT_QTDIR}\bin\designer.exe,0" | ||
| 114 | goto RegisterFinished | ||
| 115 | |||
| 116 | RegisterVSIP: | ||
| 117 | Push $1 | ||
| 118 | Call GetVSInstallationDir | ||
| 119 | Pop $0 | ||
| 120 | |||
| 121 | WriteRegStr HKCR "${MODULE_REGISTERUIEXT_INTERNAL_DESC}\shell\open" "" "${MODULE_REGISTERUIEXT_DESC_DEVENV}" | ||
| 122 | WriteRegStr HKCR "${MODULE_REGISTERUIEXT_INTERNAL_DESC}\shell\${MODULE_REGISTERUIEXT_DESC_DEVENV}\command" "" "$0\devenv.exe $\"%1$\"" | ||
| 123 | WriteRegStr HKCR "${MODULE_REGISTERUIEXT_INTERNAL_DESC}\DefaultIcon" "" "$VSIP_INSTDIR\ui.ico" | ||
| 124 | RegisterFinished: | ||
| 125 | WriteRegStr HKCR ".ui" "" "${MODULE_REGISTERUIEXT_INTERNAL_DESC}" | ||
| 126 | |||
| 127 | pop $1 | ||
| 128 | pop $0 | ||
| 129 | FunctionEnd | ||
| 130 | |||
| 131 | !macroend | ||
| 132 | |||
| 133 | ;------------------------------------------------------------------------------------------------ | ||
| 134 | |||
| 135 | !macro REGISTERUIEXT_DESCRIPTION | ||
| 136 | !insertmacro MUI_DESCRIPTION_TEXT ${REGISTERUIEXT_SEC01} "This will associate the file extention .ui with the Qt GUI editor." | ||
| 137 | !macroend | ||
| 138 | |||
| 139 | ;------------------------------------------------------------------------------------------------ | ||
| 140 | |||
| 141 | !macro REGISTERUIEXT_STARTUP | ||
| 142 | StrCmp $RUNNING_AS_ADMIN "true" +2 | ||
| 143 | SectionSetFlags ${REGISTERUIEXT_SEC01} 16 | ||
| 144 | !macroend | ||
| 145 | |||
| 146 | ;------------------------------------------------------------------------------------------------ | ||
| 147 | |||
| 148 | !macro REGISTERUIEXT_FINISH | ||
| 149 | !macroend | ||
| 150 | |||
| 151 | ;------------------------------------------------------------------------------------------------ | ||
| 152 | |||
| 153 | !macro REGISTERUIEXT_UNSTARTUP | ||
| 154 | !macroend | ||
| 155 | |||
| 156 | ;------------------------------------------------------------------------------------------------ | ||
| 157 | |||
| 158 | !macro REGISTERUIEXT_UNINSTALL | ||
| 159 | Function un.ModuleRegisterUI | ||
| 160 | push $1 | ||
| 161 | ReadRegStr $1 HKCR ".ui" "" | ||
| 162 | strcmp $1 "${MODULE_REGISTERUIEXT_INTERNAL_DESC}" 0 continue | ||
| 163 | ; do not delete this key since a subkey openwithlist | ||
| 164 | ; or open withprogid may exist | ||
| 165 | WriteRegStr HKCR ".ui" "" "" | ||
| 166 | continue: | ||
| 167 | ; just delete it since nobody else is supposed to use it | ||
| 168 | DeleteRegKey HKCR "${MODULE_REGISTERUIEXT_INTERNAL_DESC}" | ||
| 169 | |||
| 170 | pop $1 | ||
| 171 | FunctionEnd | ||
| 172 | |||
| 173 | Section -un.ModuleRegisterUIExtSection | ||
| 174 | push $0 | ||
| 175 | ReadRegDWORD $0 SHCTX "$PRODUCT_UNIQUE_KEY" "UIExtRegistered" | ||
| 176 | intcmp $0 1 0 DoneUnRegister | ||
| 177 | call un.ModuleRegisterUI | ||
| 178 | DoneUnRegister: | ||
| 179 | pop $0 | ||
| 180 | SectionEnd | ||
| 181 | !macroend | ||
| 182 | |||
| 183 | ;------------------------------------------------------------------------------------------------ | ||
| 184 | |||
| 185 | !macro REGISTERUIEXT_UNFINISH | ||
| 186 | !macroend | ||
| 187 | |||
| 188 | ;------------------------------------------------------------------------------------------------ | ||
| 189 | |||
| 190 | !else | ||
| 191 | !macro REGISTERUIEXT_INITIALIZE | ||
| 192 | !macroend | ||
| 193 | !macro REGISTERUIEXT_SECTIONS | ||
| 194 | !macroend | ||
| 195 | !macro REGISTERUIEXT_DESCRIPTION | ||
| 196 | !macroend | ||
| 197 | !macro REGISTERUIEXT_STARTUP | ||
| 198 | !macroend | ||
| 199 | !macro REGISTERUIEXT_FINISH | ||
| 200 | !macroend | ||
| 201 | !macro REGISTERUIEXT_UNSTARTUP | ||
| 202 | !macroend | ||
| 203 | !macro REGISTERUIEXT_UNINSTALL | ||
| 204 | !macroend | ||
| 205 | !macro REGISTERUIEXT_UNFINISH | ||
| 206 | !macroend | ||
| 207 | !endif |
|   | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ;; | ||
| 3 | ;; Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | ||
| 4 | ;; All rights reserved. | ||
| 5 | ;; Contact: Nokia Corporation (qt-info@nokia.com) | ||
| 6 | ;; | ||
| 7 | ;; This file is part of the tools applications of the Qt Toolkit. | ||
| 8 | ;; | ||
| 9 | ;; $QT_BEGIN_LICENSE:LGPL$ | ||
| 10 | ;; No Commercial Usage | ||
| 11 | ;; This file contains pre-release code and may not be distributed. | ||
| 12 | ;; You may use this file in accordance with the terms and conditions | ||
| 13 | ;; contained in the Technology Preview License Agreement accompanying | ||
| 14 | ;; this package. | ||
| 15 | ;; | ||
| 16 | ;; GNU Lesser General Public License Usage | ||
| 17 | ;; Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 18 | ;; General Public License version 2.1 as published by the Free Software | ||
| 19 | ;; Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 20 | ;; packaging of this file. Please review the following information to | ||
| 21 | ;; ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 22 | ;; will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 23 | ;; | ||
| 24 | ;; In addition, as a special exception, Nokia gives you certain additional | ||
| 25 | ;; rights. These rights are described in the Nokia Qt LGPL Exception | ||
| 26 | ;; version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 27 | ;; | ||
| 28 | ;; If you have questions regarding the use of this file, please contact | ||
| 29 | ;; Nokia at qt-info@nokia.com. | ||
| 30 | ;; | ||
| 31 | ;; | ||
| 32 | ;; | ||
| 33 | ;; | ||
| 34 | ;; | ||
| 35 | ;; | ||
| 36 | ;; | ||
| 37 | ;; | ||
| 38 | ;; $QT_END_LICENSE$ | ||
| 39 | ;; | ||
| 40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 41 | ; Ini file generated by the HM NIS Edit IO designer. | ||
| 42 | [Settings] | ||
| 43 | NumFields=4 | ||
| 44 | |||
| 45 | [Field 1] | ||
| 46 | Type=Label | ||
| 47 | Text=You are now installing the Open Source Edition of Qt. It is licensed under GNU LGPL version 2.1 and the GPL version 3. | ||
| 48 | Left=0 | ||
| 49 | Right=300 | ||
| 50 | Top=0 | ||
| 51 | Bottom=78 | ||
| 52 | |||
| 53 | [Field 2] | ||
| 54 | Type=Link | ||
| 55 | Text=http://qt.nokia.com/downloads | ||
| 56 | State=http://qt.nokia.com/downloads | ||
| 57 | Left=0 | ||
| 58 | Right=278 | ||
| 59 | Top=80 | ||
| 60 | Bottom=88 | ||
| 61 | |||
| 62 | [Field 3] | ||
| 63 | Type=Link | ||
| 64 | Text=http://qt.nokia.com/about | ||
| 65 | State=http://qt.nokia.com/about | ||
| 66 | Left=0 | ||
| 67 | Right=267 | ||
| 68 | Top=112 | ||
| 69 | Bottom=120 | ||
| 70 | |||
| 71 | [Field 4] | ||
| 72 | Type=Label | ||
| 73 | Text=To read more about Nokia's licensing, please go to: | ||
| 74 | Left=0 | ||
| 75 | Right=278 | ||
| 76 | Top=97 | ||
| 77 | Bottom=105 |

