Procedure for setup of a windows build environment for QGIS Tim Sutton and Godofredo Contreras 2006 With thanks to Tisham Dhar for preparing the initial msys environment --------------------------------------------------------------------------------- This document describes the process you need to follow to get QGIS built directly under windows (rather than using a cross compiler under linux). Note: The process for building under windows is still being sorted out so check this document regularly for updates. Msys: ----- get this: http://qgis.org/uploadfiles/msys/msys.tar.bz2 and unpack to c:\msys The file is compressed using bzip2 - you can get a free windows application for creating and decompressing files here: http://www.7-zip.org/ Qt4.2: ------ Download qt4.2 opensource precompiled edition exe and install (including the download and install of mingw) from here: http://www.trolltech.com/developer/downloads/qt/windows Edit C:\Qt\4.2.0\bin\qtvars.bat and add the following line (the second is only needed if you like vim in your shell): set PATH=%PATH%;C:\msys\local\bin;c:\msys\local\lib set PATH=%PATH%;"c:\Program Files\Vim\vim70\ If you plan to do some debugging, you'll need to complie debug version of Qt: C:\Qt\4.2.0\bin\qtvars.bat compile_debug QGIS: ----- Check out to c:\dev\cpp\qgis: cd c:\dev\cpp svn co https://svn.qgis.org/repos/qgis/trunk/qgis Currently you need to put it into that location in case you plan to create the NSIS installer because so far it contains hardcoded paths for this location. Source changes: --------------- Next you need to shift some files around. For convenience we've made an archive that handles all the changes for you. Download it and unpack to qgis source directory: http://qgis.org/uploadfiles/msys/qgis-qmake-files.zip List of what has been changed / added by this archive to enable compilation: - moved qgscsexception.h, qgsspatialrefsys* and qgscoordinatetransform* into core dir from gui - moved qgspluginregistry.* from core to gui - qgsspatialrefsys.cpp - commented out SRS validation using projection selector - qgsspatialrefsys.cpp - commented out lines using qgsproject as it depends on gui stuff - qgsdistancearea.cpp - commented out lines using qgsproject as it depends on gui stuff and moved to core - lexer and parser generated by genlexyacc.bat - added custom qgsconfig.h and qgssvnversion.h Building: --------- Now open the qt command shell (or start "cmd" and run c:\Qt\4.2.0\bin\qtvars.bat) cd c:\dev\cpp\qgis qmake make This will compile both debug and release version. To make just a one of them use "make debug" or "make release" respectively. Note: debug version uses debug version of Qt library thus if linking fails on not founding library QtSvgd4 (or similar), you need to compile them as described in section for Qt. Running: (optional) -------- After successfull make you can run QGIS directly from the directory where it has been built: qgis-debug and/or qgis-release in qgis root dir. You only need to add data files - we have provided an archive for convenience which you can just unpack there and run QGIS: http://qgis.org/uploadfiles/msys/qgis_data.zip Then just run qgis.exe GDB: (optional) ---- If you plan to do some debugging, download and install gdb-6.3.2.exe from http://prdownloads.sourceforge.net/mingw/gdb-6.3-2.exe?download and install to c:\msys\mingw Create the installation package: (optional) -------------------------------- Downlad and install NSIS from (http://nsis.sourceforge.net/Main_Page) Download both the QGIS debug and release installer packages from http://qgis.org/uploadfiles/testbuilds/ and install them. Now copy the installation dirs from C:\Program Files\QGIS* into c:\dev\cpp\qgis\qgis-debug and c:\dev\cpp\qgis\qgis-release respectively. After making these copies uninstall the release and debug versions of QGIS from your c:\Program Files directories using the provided uninstaller. Double check that both dirs are complete gone under program files afterwards. Now using windows explorer, enter the c:\dev\cpp\qgis\win_build directory and right click on qgis.nsi and choose the option 'Compile NSIS Script'. Do the same for qgis-debug.nsi. Congratulations you should have two installable qgis setup files in the win_build directory now..