tools/installer/batch/build.bat
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 19 Feb 2010 23:40:16 +0200
branchRCL_3
changeset 4 3b1da2848fc7
parent 0 1918ee327afb
permissions -rw-r--r--
Revision: 201003 Kit: 201007

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
:: All rights reserved.
:: Contact: Nokia Corporation (qt-info@nokia.com)
::
:: This file is part of the tools applications of the Qt Toolkit.
::
:: $QT_BEGIN_LICENSE:LGPL$
:: No Commercial Usage
:: This file contains pre-release code and may not be distributed.
:: You may use this file in accordance with the terms and conditions
:: contained in the Technology Preview License Agreement accompanying
:: this package.
::
:: GNU Lesser General Public License Usage
:: Alternatively, this file may be used under the terms of the GNU Lesser
:: General Public License version 2.1 as published by the Free Software
:: Foundation and appearing in the file LICENSE.LGPL included in the
:: packaging of this file.  Please review the following information to
:: ensure the GNU Lesser General Public License version 2.1 requirements
:: will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
::
:: In addition, as a special exception, Nokia gives you certain additional
:: rights.  These rights are described in the Nokia Qt LGPL Exception
:: version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
::
:: If you have questions regarding the use of this file, please contact
:: Nokia at qt-info@nokia.com.
::
::
::
::
::
::
::
::
:: $QT_END_LICENSE$
::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
call :%1 %2
goto END

:begin
for /F "tokens=1*" %%m in ("%~1") do set IWMAKE_COMPILER=%%~m& set IWMAKE_TMP=%%~n

if "%IWMAKE_TMP%"=="" set IWMAKE_TMP=build_%IWMAKE_COMPILER%
set IWMAKE_BUILD=%IWMAKE_ROOT%\%IWMAKE_TMP%
if not exist %IWMAKE_BUILD% mkdir %IWMAKE_BUILD%

if not "%PATH%"=="" set IWMAKE_OLD_PATH=%PATH%
if not "%QMAKESPEC%"=="" set IWMAKE_OLD_QMAKESPEC=%QMAKESPEC%
if not "%QTDIR%"=="" set IWMAKE_OLD_QTDIR=%QTDIR%
if not "%INCLUDE%"=="" set IWMAKE_OLD_INCLUDE=%INCLUDE%
if not "%LIB%"=="" set IWMAKE_OLD_LIB=%LIB%

set PATH=%IWMAKE_BUILD%\bin;%PATH%
set QTDIR=%IWMAKE_BUILD%

if "%IWMAKE_COMPILER%"=="vs2003" goto VS2003Env
if "%IWMAKE_COMPILER%"=="vs2002" goto VS2002Env
if "%IWMAKE_COMPILER%"=="vs2005" goto VS2005Env
if "%IWMAKE_COMPILER%"=="vc60" goto VC60Env
if "%IWMAKE_COMPILER%"=="mingw" goto MinGWEnv
goto :eof

:VS2003Env
set QMAKESPEC=win32-msvc.net
if not exist "%VS71COMNTOOLS%vsvars32.bat" echo VS2003 not found >> %IWMAKE_LOGFILE% & exit /b 1
call "%VS71COMNTOOLS%vsvars32.bat" >> %IWMAKE_LOGFILE%
set IWMAKE_MAKE=nmake
goto :eof

:VS2002Env
set QMAKESPEC=win32-msvc.net
if not exist "%VSCOMNTOOLS%vsvars32.bat" echo VS2002 not found >> %IWMAKE_LOGFILE% & exit /b 1
call "%VSCOMNTOOLS%vsvars32.bat" >> %IWMAKE_LOGFILE%
set IWMAKE_MAKE=nmake
goto :eof

:VS2005Env
set QMAKESPEC=win32-msvc2005
if not exist "%VS80COMNTOOLS%vsvars32.bat" echo VS2005 not found >> %IWMAKE_LOGFILE% & exit /b 1
call "%VS80COMNTOOLS%vsvars32.bat" >> %IWMAKE_LOGFILE%
set IWMAKE_MAKE=nmake
goto :eof

:VC60Env
set QMAKESPEC=win32-msvc
if not exist "%ProgramFiles%\Microsoft Visual Studio\VC98\Bin\vcvars32.bat" echo VC60 not found >> %IWMAKE_LOGFILE% & exit /b 1
call "%ProgramFiles%\Microsoft Visual Studio\VC98\Bin\vcvars32.bat" >> %IWMAKE_LOGFILE%
set IWMAKE_MAKE=nmake
goto :eof

:MinGWEnv
set QMAKESPEC=win32-g++
if not exist %IWMAKE_MINGWPATH%\bin\gcc.exe echo MinGW not found in %IWMAKE_MINGWPATH% >> %IWMAKE_LOGFILE% & exit /b 1
set PATH=%IWMAKE_MINGWPATH%\bin;%PATH%
set IWMAKE_MAKE=mingw32-make
goto :eof

:finish
  if not "%IWMAKE_OLD_PATH%"=="" set PATH=%IWMAKE_OLD_PATH%& set IWMAKE_OLD_PATH=
  if not "%IWMAKE_OLD_QMAKESPEC%"=="" set QMAKESPEC=%IWMAKE_OLD_QMAKESPEC%& set IWMAKE_OLD_QMAKESPEC=
  if not "%IWMAKE_OLD_QTDIR%"=="" set QTDIR=%IWMAKE_OLD_QTDIR%& set IWMAKE_OLD_QTDIR=
  if not "%IWMAKE_OLD_INCLUDE%"=="" set INCLUDE=%IWMAKE_OLD_INCLUDE%& set IWMAKE_OLD_INCLUDE=
  if not "%IWMAKE_OLD_LIB%"=="" set LIB=%IWMAKE_OLD_LIB%& set IWMAKE_OLD_LIB=
goto :eof

:configure
  pushd %IWMAKE_BUILD%
  configure %~1 >> %IWMAKE_LOGFILE% 2>&1
  popd
goto :eof

:bin
  pushd %IWMAKE_BUILD%
  %IWMAKE_MAKE% %~1 >>%IWMAKE_LOGFILE% 2>&1
  popd
goto :eof

:binInDir
  for /F "tokens=1*" %%m in ("%~1") do set IWMAKE_TMP=%%~m& set IWMAKE_TMP2=%%~n
  pushd %IWMAKE_BUILD%\%IWMAKE_TMP%
  %IWMAKE_MAKE% %IWMAKE_TMP2% >> %IWMAKE_LOGFILE% 2>&1
  popd
goto :eof

:DBPlugins
  call "%IWMAKE_SCRIPTDIR%\batch\copy.bat" extsync sql
  set IWMAKE_SQL_OLD_LIB=%LIB%
  pushd %IWMAKE_BUILD%\src\plugins\sqldrivers\mysql
  set LIB=%IWMAKE_ROOT%\sql\mysql\lib\debug;%IWMAKE_SQL_OLD_LIB%
  qmake "INCLUDEPATH+=%IWMAKE_ROOT%\sql\mysql\include" "LIBS+=libmysql.lib ws2_32.lib advapi32.lib user32.lib" >> %IWMAKE_LOGFILE% 2>&1
  %IWMAKE_MAKE% debug >> %IWMAKE_LOGFILE% 2>&1
  set LIB=%IWMAKE_ROOT%\sql\mysql\lib\opt;%IWMAKE_SQL_OLD_LIB%
  qmake "INCLUDEPATH+=%IWMAKE_ROOT%\sql\mysql\include" "LIBS+=libmysql.lib ws2_32.lib advapi32.lib" >> %IWMAKE_LOGFILE% 2>&1
  %IWMAKE_MAKE% release >> %IWMAKE_LOGFILE% 2>&1
  popd

  set LIB=%IWMAKE_ROOT%\sql\%IWMAKE_COMPILER%;%IWMAKE_SQL_OLD_LIB%
  pushd %IWMAKE_BUILD%\src\plugins\sqldrivers\psql
  qmake "INCLUDEPATH+=%IWMAKE_ROOT%\sql\include\psql" "LIBS+=libpqd.lib ws2_32.lib advapi32.lib shfolder.lib shell32.lib" >> %IWMAKE_LOGFILE% 2>&1
  %IWMAKE_MAKE% debug >> %IWMAKE_LOGFILE% 2>&1
  qmake "INCLUDEPATH+=%IWMAKE_ROOT%\sql\include\psql" "LIBS+=libpq.lib ws2_32.lib advapi32.lib shfolder.lib shell32.lib" >> %IWMAKE_LOGFILE% 2>&1
  %IWMAKE_MAKE% release >> %IWMAKE_LOGFILE% 2>&1
  popd
  set LIB=%IWMAKE_SQL_OLD_LIB%
  set IWMAKE_SQL_OLD_LIB=
goto :eof

:root
  set IWMAKE_BUILD=%~1
  if not exist %IWMAKE_BUILD% mkdir %IWMAKE_BUILD%
goto :eof

:END