2
set GRASS_VERSION=6.4.0svn
3
set SVNVERSION=c:/cygwin/bin/svnversion
5
set BUILDDIR=%CD%\build
6
REM set BUILDDIR=%TEMP%\qgis_unstable
7
set LOG=%BUILDDIR%\build.log
9
if not exist "%BUILDDIR%" mkdir %BUILDDIR%
10
if not exist "%BUILDDIR%" goto error
15
if "%VERSION%"=="" goto error
16
if "%PACKAGE%"=="" goto error
17
if "%PACKAGENAME%"=="" set PACKAGENAME=qgis-dev
19
path %SYSTEMROOT%\system32;%SYSTEMROOT%;%SYSTEMROOT%\System32\Wbem;%PROGRAMFILES%\CMake 2.6\bin
22
set VS90COMNTOOLS=%PROGRAMFILES%\Microsoft Visual Studio 9.0\Common7\Tools\
23
call "%PROGRAMFILES%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
25
if "%OSGEO4W_ROOT%"=="" set OSGEO4W_ROOT=%PROGRAMFILES%\OSGeo4W
26
if not exist "%OSGEO4W_ROOT%\bin\o4w_env.bat" goto error
28
call "%OSGEO4W_ROOT%\bin\o4w_env.bat"
30
set O4W_ROOT=%OSGEO4W_ROOT:\=/%
31
set LIB_DIR=%O4W_ROOT%
34
if exist "%DevEnvDir%\vcexpress.exe" set DEVENV=vcexpress
35
if exist "%DevEnvDir%\devenv.exe" set DEVENV=devenv
36
if "%DEVENV%"=="" goto error
38
PROMPT qgis%VERSION%$g
40
set BUILDCONF=RelWithDebInfo
41
REM set BUILDCONF=Release
47
if "%BUILDDIR:~1,1%"==":" %BUILDDIR:~0,2%
50
if not exist build.log goto build
53
REM try renaming the logfile to see if it's locked
56
if exist build.tmp del build.tmp
57
if exist build.tmp goto error
59
ren build.log build.tmp
60
if exist build.log goto locked
61
if not exist build.tmp goto locked
63
ren build.tmp build.log
64
if exist build.tmp goto locked
65
if not exist build.log goto locked
71
if exist build.tmp del build.tmp
76
echo BEGIN: %DATE% %TIME%>>%LOG% 2>&1
77
if errorlevel 1 goto error
81
if exist CMakeCache.txt goto skipcmake
83
echo CMAKE: %DATE% %TIME%>>%LOG% 2>&1
84
if errorlevel 1 goto error
86
cmake -G "Visual Studio 9 2008" ^
88
-D WITH_SPATIALITE=TRUE ^
89
-D WITH_INTERNAL_SPATIALITE=TRUE ^
90
-D CMAKE_BUILD_TYPE=%BUILDCONF% ^
91
-D CMAKE_CONFIGURATION_TYPES=%BUILDCONF% ^
92
-D GDAL_INCLUDE_DIR=%O4W_ROOT%/apps/gdal-16/include ^
93
-D GDAL_LIBRARY=%O4W_ROOT%/apps/gdal-16/lib/gdal_i.lib ^
94
-D PYTHON_EXECUTABLE=%O4W_ROOT%/bin/python.exe ^
95
-D PYTHON_INCLUDE_PATH=%O4W_ROOT%/apps/Python25/include ^
96
-D PYTHON_LIBRARY=%O4W_ROOT%/apps/Python25/libs/python25.lib ^
97
-D SIP_BINARY_PATH=%O4W_ROOT%/apps/Python25/sip.exe ^
98
-D GRASS_PREFIX=%O4W_ROOT%/apps/grass/grass-%GRASS_VERSION% ^
99
-D QT_BINARY_DIR=%O4W_ROOT%/bin ^
100
-D QT_LIBRARY_DIR=%O4W_ROOT%/lib ^
101
-D QT_HEADERS_DIR=%O4W_ROOT%/include/qt4 ^
102
-D QT_ZLIB_LIBRARY=%O4W_ROOT%/lib/zlib.lib ^
103
-D QT_PNG_LIBRARY=%O4W_ROOT%/lib/libpng13.lib ^
104
-D CMAKE_INSTALL_PREFIX=%O4W_ROOT%/apps/%PACKAGENAME% ^
105
-D CMAKE_CXX_FLAGS_RELWITHDEBINFO="/MD /ZI /Od /D NDEBUG" ^
106
-D SVNVERSION="%SVNVERSION%" ^
108
if errorlevel 1 goto error
110
REM bail out if python or grass was not found
111
grep -Eq "^(Python not being built|Could not find GRASS)" %LOG%
112
if not errorlevel 1 goto error
116
echo ZERO_CHECK: %DATE% %TIME%>>%LOG% 2>&1
117
%DEVENV% qgis%VERSION%.sln /Project ZERO_CHECK /Build %BUILDCONF% /Out %LOG%>>%LOG% 2>&1
118
if errorlevel 1 goto error
120
echo ALL_BUILD: %DATE% %TIME%>>%LOG% 2>&1
121
%DEVENV% qgis%VERSION%.sln /Project ALL_BUILD /Build %BUILDCONF% /Out %LOG%>>%LOG% 2>&1
122
if errorlevel 1 goto error
124
echo INSTALL: %DATE% %TIME%>>%LOG% 2>&1
125
%DEVENV% qgis%VERSION%.sln /Project INSTALL /Build %BUILDCONF% /Out %LOG%>>%LOG% 2>&1
126
if errorlevel 1 goto error
128
echo PACKAGE: %DATE% %TIME%>>%LOG% 2>&1
131
sed -e 's/@package@/%PACKAGENAME%/g' -e 's/@version@/%VERSION%/g' postinstall.bat >%OSGEO4W_ROOT%\etc\postinstall\%PACKAGENAME%.bat
132
sed -e 's/@package@/%PACKAGENAME%/g' -e 's/@version@/%VERSION%/g' preremove.bat >%OSGEO4W_ROOT%\etc\preremove\%PACKAGENAME%.bat
133
sed -e 's/@package@/%PACKAGENAME%/g' -e 's/@version@/%VERSION%/g' qgis.bat.tmpl >%OSGEO4W_ROOT%\bin\%PACKAGENAME%.bat.tmpl
134
sed -e 's/@package@/%PACKAGENAME%/g' -e 's/@version@/%VERSION%/g' qgis.reg.tmpl >%OSGEO4W_ROOT%\apps\%PACKAGENAME%\bin\qgis.reg.tmpl
136
sed -e 's/%OSGEO4W_ROOT:\=\\\\\\\\%/@osgeo4w@/' %OSGEO4W_ROOT%\apps\%PACKAGENAME%\python\qgis\qgisconfig.py >%OSGEO4W_ROOT%\apps\%PACKAGENAME%\python\qgis\qgisconfig.py.tmpl
137
if errorlevel 1 goto error
139
del %OSGEO4W_ROOT%\apps\%PACKAGENAME%\python\qgis\qgisconfig.py
143
tar -C %OSGEO4W_ROOT% -cjf %PACKAGENAME%-%VERSION%-%PACKAGE%.tar.bz2 ^
144
--exclude-from exclude ^
146
bin/%PACKAGENAME%.bat.tmpl ^
147
etc/postinstall/%PACKAGENAME%.bat ^
148
etc/preremove/%PACKAGENAME%.bat>>%LOG% 2>&1
149
if errorlevel 1 goto error
154
echo BUILD ERROR %ERRORLEVEL%: %DATE% %TIME%
155
echo BUILD ERROR %ERRORLEVEL%: %DATE% %TIME%>>%LOG% 2>&1
156
if exist %PACKAGENAME%-%VERSION%-%PACKAGE%.tar.bz2 del %PACKAGENAME%-%VERSION%-%PACKAGE%.tar.bz2
159
echo FINISHED: %DATE% %TIME% >>%LOG% 2>&1