diff --git a/INSTALL b/INSTALL index 0370d8f6c58..8f5756a944c 100644 --- a/INSTALL +++ b/INSTALL @@ -1,10 +1,10 @@ QGIS Building QGIS from source - step by step -Monday April 15, 2019 +Thursday December 26, 2019 -Last Updated: Monday April 15, 2019 -Last Change : Monday April 15, 2019 +Last Updated: Thursday December 26, 2019 +Last Change : Thursday December 26, 2019 1. Introduction diff --git a/NEWS b/NEWS index 43dbb1a9ca3..cda9cb21ffb 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,6 @@ QGIS News Change history for the QGIS Project -Thursday November 01, 2018 +Thursday December 26, 2019 ------------------------------------------------------------------------ @@ -43,8 +43,8 @@ Thursday November 01, 2018 ------------------------------------------------------------------------ -Last Updated: Thursday November 01, 2018 -Last Change : Thursday November 01, 2018 +Last Updated: Thursday December 26, 2019 +Last Change : Thursday December 26, 2019 1. What's new in Version 3.4-LTR 'Madeira'? diff --git a/doc/INSTALL.html b/doc/INSTALL.html index 59c3be456a5..5cfa859871f 100644 --- a/doc/INSTALL.html +++ b/doc/INSTALL.html @@ -1,437 +1,461 @@ - - - - - -QGIS + + + + +QGIS + + + + + +
+
+

QGIS

+

Building QGIS from source - step by step

+

Thursday December 26, 2019

+
+
+
- - +
+

1. Introduction

- - - - - -
-

-Last Updated: Monday April 15, 2019 -Last Change : Monday April 15, 2019 -

- - - -

1. Introduction

- -

+

This document is the original installation guide of the described software QGIS. The software and hardware descriptions named in this document are in most cases registered trademarks and are therefore subject to the legal requirements. QGIS is subject to the GNU General Public License. Find more information on the QGIS Homepage: -http://qgis.org -

-

+http://qgis.org +

+

The details, that are given in this document have been written and verified to the best of knowledge and responsibility of the editors. Nevertheless, mistakes concerning the content are possible. Therefore, all data are not liable to any duties or guarantees. The editors and publishers do not take any responsibility or liability for failures and their consequences. You are always welcome for indicating possible mistakes. -

-

+

+

Because the code of QGIS evolves from release to release, These instructions are regularly updated to match the corresponding release. Instructions for the current master branch are available at -http://htmlpreview.github.io/?https://raw.github.com/qgis/QGIS/master/doc/INSTALL.html. +http://htmlpreview.github.io/?https://raw.github.com/qgis/QGIS/master/doc/INSTALL.html. If you wish to build another version of QGIS, ensure to checkout the appropriate -release branch. The QGIS source code can be found in the repository. -

-

-Please visit http://qgis.org for information on joining our mailing lists +release branch. The QGIS source code can be found in the repository. +

+

+Please visit http://qgis.org for information on joining our mailing lists and getting involved in the project further. -

-

-/!\ Note to document writers: Please use this document as the central +

+

+/!\ Note to document writers: Please use this document as the central place for describing build procedures. Please do not remove this notice. -

-

-/!\ Note to document writers: This document is generated from +

+

+/!\ Note to document writers: This document is generated from doc/INSTALL.t2t - if you need to edit this document, be sure to edit that file rather than the generated INSTALL document found in the root of the source directory. -

+

- -

2. Overview

+
+
+

2. Overview

-

+

QGIS, like a number of major projects (e.g., KDE 4.0), uses CMake -(http://www.cmake.org) for building from source. -

-

+(http://www.cmake.org) for building from source. +

+

Following a summary of the required dependencies for building: -

-

+

+

Required build tools: -

+

- + -

+

Required build dependencies: -

+

- + -

+

Optional dependencies: -

+

- + -

+

Indirect dependencies: -

-

+

+

Some proprietary formats (e.g., ECW and MrSid) supported by GDAL require proprietary third party libraries. QGIS doesn't need any of those itself to build, but will only support those formats if GDAL is built accordingly. Refer -to http://gdal.org/formats_list.html ff. for instructions how to include +to http://gdal.org/formats_list.html ff. for instructions how to include those formats in GDAL. -

+

- -

3. Building on GNU/Linux

+
+
+

3. Building on GNU/Linux

- -

3.1. Building QGIS with Qt 5.x

+
+

3.1. Building QGIS with Qt 5.x

-

-Requires: Ubuntu / Debian derived distro -

-

-/!\ Note: Refer to the section Building Debian packages for building +

+Requires: Ubuntu / Debian derived distro +

+

+/!\ Note: Refer to the section Building Debian packages for building debian packages. Unless you plan to develop on QGIS, that is probably the easiest option to compile and install QGIS. -

-

+

+

These notes are for Ubuntu - other versions and Debian derived distros may require slight variations in package names. -

-

+

+

These notes are for if you want to build QGIS from source. One of the major -aims here is to show how this can be done using binary packages for *all* +aims here is to show how this can be done using binary packages for *all* dependencies - building only the core QGIS stuff from source. I prefer this approach because it means we can leave the business of managing system packages to apt and only concern ourselves with coding QGIS! -

-

+

+

This document assumes you have made a fresh install and have a 'clean' system. These instructions should work fine if this is a system that has already been in use for a while, you may need to just skip those steps which are irrelevant to you. -

+

- -

3.2. Prepare apt

+
+
+

3.2. Prepare apt

-

+

The packages QGIS depends on to build are available in the "universe" component of Ubuntu. This is not activated by default, so you need to activate it: -

+

-
    -
  1. Edit your /etc/apt/sources.list file. -
  2. Uncomment all the lines starting with "deb" -
+
    +
  1. Edit your /etc/apt/sources.list file. +
  2. +
  3. Uncomment all the lines starting with "deb" +
  4. +
-

+

Also you will need to be running Ubuntu 'precise' or higher in order for all dependencies to be met. -

-

+

+

Now update your local sources database: -

+

-
+
 sudo apt-get update
-
+
- -

3.3. Install build dependencies

+
+
+

3.3. Install build dependencies

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Distributioninstall command for packages
stretchapt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-autopep8 python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtbase5-private-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools saga spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb
busterapt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqscintilla2-qt5-dev libqt5opengl5-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-autopep8 python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtbase5-private-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools saga spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb
xenialapt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-autopep8 python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools saga spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb
bionicapt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqscintilla2-qt5-dev libqt5opengl5-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-autopep8 python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtbase5-private-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools saga spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb
discoapt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqscintilla2-qt5-dev libqt5opengl5-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-autopep8 python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtbase5-private-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools saga spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb
sidapt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqscintilla2-qt5-dev libqt5opengl5-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-autopep8 python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtbase5-private-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools saga spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Distributioninstall command for packages
stretchapt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-autopep8 python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtbase5-private-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools saga spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb
busterapt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqscintilla2-qt5-dev libqt5opengl5-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-autopep8 python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtbase5-private-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools saga spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb
xenialapt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-autopep8 python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools saga spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb
bionicapt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqscintilla2-qt5-dev libqt5opengl5-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-autopep8 python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtbase5-private-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools saga spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb
discoapt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqscintilla2-qt5-dev libqt5opengl5-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-autopep8 python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtbase5-private-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools saga spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb
sidapt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqscintilla2-qt5-dev libqt5opengl5-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-autopep8 python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtbase5-private-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools saga spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb
-

-(extracted from the control.in file in debian/) -

-

-See http://qgis.org/en/site/forusers/alldownloads.html#debian-ubuntu for +

+(extracted from the control.in file in debian/) +

+

+See http://qgis.org/en/site/forusers/alldownloads.html#debian-ubuntu for currently supported distributions (plain xenial's GDAL for instance is to old and we build with GDAL2 from ubuntugis). -

+

- -

3.4. Setup ccache (Optional, but recommended)

+
+
+

3.4. Setup ccache (Optional, but recommended)

-

+

You should also setup ccache to speed up compile times: -

+

-
+
 cd /usr/local/bin
 sudo ln -s /usr/bin/ccache gcc
 sudo ln -s /usr/bin/ccache g++
-
+
-

-or simply add /usr/lib/ccache to your PATH. -

+

+or simply add /usr/lib/ccache to your PATH. +

- -

3.5. Prepare your development environment

+
+
+

3.5. Prepare your development environment

-

+

As a convention I do all my development work in $HOME/dev/<language>, so in this case we will create a work environment for C++ development work like this: -

+

-
+
 mkdir -p ${HOME}/dev/cpp
 cd ${HOME}/dev/cpp
-
+
-

+

This directory path will be assumed for all instructions that follow. -

+

- -

3.6. Check out the QGIS Source Code

+
+
+

3.6. Check out the QGIS Source Code

-

+

There are two ways the source can be checked out. Use the anonymous method if you do not have edit privileges for the QGIS source repository, or use the developer checkout if you have permissions to commit source code changes. -

-

+

+

1. Anonymous Checkout -

+

-
+
 cd ${HOME}/dev/cpp
 git clone git://github.com/qgis/QGIS.git
-
+
-

+

2. Developer Checkout -

+

-
+
 cd ${HOME}/dev/cpp
 git clone git@github.com:qgis/QGIS.git
-
+
- -

3.7. Starting the compile

+
+
+

3.7. Starting the compile

-

+

I compile my development version of QGIS into my ~/apps directory to avoid conflicts with Ubuntu packages that may be under /usr. This way for example you can use the binary packages of QGIS on your system along side with your development version. I suggest you do something similar: -

+

-
+
 mkdir -p ${HOME}/apps
-
+
-

+

Now we create a build directory and run ccmake: -

+

-
+
 cd QGIS
 mkdir build-master
 cd build-master
 ccmake ..
-
+
-

+

When you run ccmake (note the .. is required!), a menu will appear where you can configure various aspects of the build. If you want QGIS to have debugging capabilities then set CMAKE_BUILD_TYPE to Debug. If you do not have @@ -443,892 +467,972 @@ and 'g' to generate the make files. Note that sometimes 'c' needs to be pressed several times before the 'g' option becomes available. After the 'g' generation is complete, press 'q' to exit the ccmake interactive dialog. -

-

-/!\ Warning: Make sure that your build directory is completely empty when you -enter the command. Do never try to "re-use" an existing Qt4 build directory. +

+

+/!\ Warning: Make sure that your build directory is completely empty when you +enter the command. Do never try to "re-use" an existing Qt4 build directory. If you want to use `ccmake` or other interactive tools, run the command in the empty build directory once before starting to use the interactive tools. -

-

+

+

Now on with the build: -

+

-
+
 make -jX
-
+
-

+

where X is the number of available cores. Depending on your platform, this can speed up the build time considerably. -

-

+

+

Then you can directly run from the build directory: -

+

-
+
 ./output/bin/qgis
-
+
-

+

Another option is to install to your system: -

+

-
+
 make install
-
+
-

+

After that you can try to run QGIS: -

+

-
+
 $HOME/apps/bin/qgis
-
+
-

+

If all has worked properly the QGIS application should start up and appear on your screen. If you get the error message "error while loading shared libraries", execute this command in your shell. -

+

-
+
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${HOME}/apps/lib/
-
+
-

+

Optionally, if you already know what aspects you want in your custom build then you can skip the interactive ccmake .. part by using the cmake -D option for each aspect, e.g.: -

+

-
+
 cmake -D CMAKE_BUILD_TYPE=Debug -D CMAKE_INSTALL_PREFIX=${HOME}/apps ..
-
+
-

+

Also, if you want to speed your build times, you can easily do it with ninja, an alternative to make with similar build options. -

-

+

+

For example, to configure your build you can do either one of: -

+

-
+
 ccmake -G Ninja ..
-
+
-
+
 cmake -G Ninja -D CMAKE_BUILD_TYPE=Debug -D CMAKE_INSTALL_PREFIX=${HOME}/apps ..
-
+
-

+

Build and install with ninja: -

+

-
+
 ninja (uses all cores by default; also supports the above described -jX option)
 ninja install
-
+
-

+

You can build just the targets you need using, for example: -

+

-
+
 ninja qgis
 ninja pycore
-
+
- -

3.8. Building Debian packages

+
+
+

3.8. Building Debian packages

-

+

Instead of creating a personal installation as in the previous step you can also create debian package. This is done from the QGIS root directory, where you'll find a debian directory. -

-

+

+

First you need to install the debian packaging tools once: -

+

-
+
 apt-get install build-essential
-
+
-

+

First you need to create an changelog entry for your distribution. For example for Ubuntu Precise: -

+

-
+
 dch -l ~precise --force-distribution --distribution precise "precise build"
-
+
-

+

The QGIS packages will be created with: -

+

-
+
 dpkg-buildpackage -us -uc -b
-
+
-

-/!\ Note: Install devscripts to get dch. -

-

-/!\ Note: If dpkg-buildpackage complains about unmet build dependencies -you can install them using apt-get and re-run the command. -

-

-/!\ Note: If you have libqgis1-dev installed, you need to remove it first -using dpkg -r libqgis1-dev. Otherwise dpkg-buildpackage will complain about a +

+/!\ Note: Install devscripts to get dch. +

+

+/!\ Note: If dpkg-buildpackage complains about unmet build dependencies +you can install them using apt-get and re-run the command. +

+

+/!\ Note: If you have libqgis1-dev installed, you need to remove it first +using dpkg -r libqgis1-dev. Otherwise dpkg-buildpackage will complain about a build conflict. -

-

-/!\ Note: By default tests are run in the process of building and their -results are uploaded to http://cdash.orfeo-toolbox.org/index.php?project=QGIS. +

+

+/!\ Note: By default tests are run in the process of building and their +results are uploaded to http://cdash.orfeo-toolbox.org/index.php?project=QGIS. You can turn the tests off using DEB_BUILD_OPTIONS=nocheck in front of the build command. The upload of results can be avoided with DEB_TEST_TARGET=test. -

-

+

+

The packages are created in the parent directory (ie. one level up). Install them using dpkg. E.g.: -

+

-
+
 sudo debi
-
+
- -

3.9. On Fedora Linux

+
+
+

3.9. On Fedora Linux

-

+

We assume that you have the source code of QGIS ready and created a new subdirectory called `build` or `build-qt5` in it. -

+

-

3.9.1. Install build dependencies

+
+

3.9.1. Install build dependencies

-
+
 dnf install qt5-qtbase-private-devel qt5-qtwebkit-devel qt5-qtlocation-devel qt5-qttools-static qca-qt5-devel qca-qt5-ossl qt5-qt3d-devel python3-qt5-devel python3-qscintilla-qt5-devel qscintilla-qt5-devel python3-qscintilla-devel python3-qscintilla-qt5 clang flex bison geos-devel gdal-devel sqlite-devel libspatialite-devel qt5-qtsvg-devel qt5-qtxmlpatterns-devel spatialindex-devel expat-devel proj-devel qwt-qt5-devel gsl-devel postgresql-devel cmake python3-future gdal-python3 python3-psycopg2 python3-PyYAML python3-pygments python3-jinja2 python3-OWSLib qca-qt5-ossl qwt-qt5-devel qtkeychain-qt5-devel qwt-devel sip-devel libzip-devel
-
+
-

+

To build QGIS server additional dependencies are required: -

+

-
+
 dnf install fcgi-devel
-
+
-

+

Make sure that your build directory is completely empty when you enter the following command. Do never try to "re-use" an existing Qt4 build directory. If you want to use `ccmake` or other interactive tools, run the following command in the empty build directory once before starting to use the interactive tools. -

+

-
+
 cmake ..
-
+
-

+

If everything went OK you can finally start to compile. (As usual append a -jX where X is the number of available cores option to make to speed up your build process) -

+

-
+
 make
-
+
-

+

Run from the build directory -

+

-
+
 ./output/bin/qgis
-
+
-

+

Or install to your system -

+

-
+
 make install
-
+
-

3.9.2. Suggested system tweaks

+
+
+

3.9.2. Suggested system tweaks

-

+

By default Fedora disables debugging calls from Qt applications. This prevents the useful debug output which is normally printed when running the unit tests. -

-

+

+

To enable debug prints for the current user, execute: -

+

-
+
 cat > ~/.config/QtProject/qtlogging.ini << EOL
 [Rules]
 default.debug=true
 EOL
-
+
- -

4. Building on Windows

+
+
+
+
+

4. Building on Windows

- -

4.1. Building with Microsoft Visual Studio

+
+

4.1. Building with Microsoft Visual Studio

-

+

This section describes how to build QGIS using Visual Studio (MSVC) 2015 on Windows. This is currently also how the binary QGIS packages are made (earlier versions used MinGW). -

-

+

+

This section describes the setup required to allow Visual Studio to be used to build QGIS. -

+

-

4.1.1. Visual C++ Community Edition

+
+

4.1.1. Visual C++ Community Edition

-

+

The free (as in free beer) Community installer is available under: -

-
- http://download.microsoft.com/download/D/2/3/D23F4D0F-BA2D-4600-8725-6CCECEA05196/vs_community_ENU.exe -
+

+
+ http://download.microsoft.com/download/D/2/3/D23F4D0F-BA2D-4600-8725-6CCECEA05196/vs_community_ENU.exe +
-

4.1.2. Other tools and dependencies

+
+
+

4.1.2. Other tools and dependencies

-

+

Download and install following packages: -

+

- - - - - - - - - - - - - - - - - - - - - -
ToolWebsite
CMakehttps://cmake.org/files/v3.12/cmake-3.12.3-win64-x64.msi
GNU flex, GNU bison and GIThttp://cygwin.com/setup-x86.exe (32bit) or http://cygwin.com/setup-x86_64.exe (64bit)
OSGeo4Whttp://download.osgeo.org/osgeo4w/osgeo4w-setup-x86.exe (32bit) or http://download.osgeo.org/osgeo4w/osgeo4w-setup-x86_64.exe (64bit)
ninjahttps://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-win.zip
+ + + + + + + + + + + + + + + + + + + + + +
ToolWebsite
CMakehttps://cmake.org/files/v3.12/cmake-3.12.3-win64-x64.msi
GNU flex, GNU bison and GIThttp://cygwin.com/setup-x86.exe (32bit) or http://cygwin.com/setup-x86_64.exe (64bit)
OSGeo4Whttp://download.osgeo.org/osgeo4w/osgeo4w-setup-x86.exe (32bit) or http://download.osgeo.org/osgeo4w/osgeo4w-setup-x86_64.exe (64bit)
ninjahttps://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-win.zip
-

+

For the QGIS build you need to install following packages from cygwin: -

+

-
    -
  • bison -
  • flex -
  • git -
+
    +
  • bison +
  • +
  • flex +
  • +
  • git +
  • +
-

-and from OSGeo4W (select Advanced Installation): -

+

+and from OSGeo4W (select Advanced Installation): +

-
    -
  • qgis-ltr-deps -
+
    +
  • qgis-ltr-deps +
  • +
-

+

This will also select packages the above packages depend on. -

-

+

+

If you install other packages, this might cause issues. Particularly, make sure - not to install the msinttypes package. It installs a stdint.h file in + not to install the msinttypes package. It installs a stdint.h file in OSGeo4W[64]\include, that conflicts with Visual Studio own stdint.h, which for example breaks the build of the virtual layer provider. -

-

+

+

Earlier versions of this document also covered how to build all above dependencies. If you're interested in that, check the history of this page in the Wiki or the SVN repository. -

-

+

+

ninja: copy ninja.exe to d:\OSGeo4W64\bin\ -

+

-

4.1.3. Setting up the Visual Studio project with CMake

+
+
+

4.1.3. Setting up the Visual Studio project with CMake

-

+

/!\ Consider this section as example. It tends to outdate, when OSGeo4W and -SDKs move on. ms-windows/osgeo4w/package-nightly.cmd is used for the +SDKs move on. ms-windows/osgeo4w/package-nightly.cmd is used for the nightly builds and constantly updated and hence might contain necessary updates that are not yet reflected here. -

-

+

+

To start a command prompt with an environment that both has the VC++ and the OSGeo4W variables create the following batch file (assuming the above packages were installed in the default locations): -

+

-
+
 @echo off
 call X:\src\qgis\ms-windows\osgeo4w\msvc-env.bat x86_64
 @cmd
-
+
-

-Save the batch file as d:\OSGeo4W64\OSGeo4W-dev.bat and run it. +

+Save the batch file as d:\OSGeo4W64\OSGeo4W-dev.bat and run it. On the command prompt checkout the QGIS source from -git to the source directory QGIS: -

+git to the source directory QGIS: +

-
+
 git clone git://github.com/qgis/QGIS.git
-
+
-

+

Using configonly.cmd to create the MSVC solution file: We will be using the file ms-windows/osgeo4w/configonly.cmd to create an MSVC solution file. There are a few options for a solution file, following are the options: ninja, native MSVC. The advantage of using native MSVC solution is that you can find the root of build problems much easily. configonly.cmd is meant to create a configured build directory with a MSVC solution file: -

-

+

+

``` configonly.cmd ``` -

-

+

+

Compiling QGIS with MSVC: We will need to run MSVC with all the environment variables set, thus we will run it as follows: - Run the batch file OSGeo4W-dev.bat you created before. On the command prompt run: devenv + Run the batch file OSGeo4W-dev.bat you created before. On the command prompt run: devenv From MSVC, open the solution file - d:\OSGeo4W64\QGIS\ms-windows\osgeo4w\build-qgis-test-x86_64\qgis2.99.0.sln - Try to build the solution go grab a cup of tea, it may take a. + d:\OSGeo4W64\QGIS\ms-windows\osgeo4w\build-qgis-test-x86_64\qgis2.99.0.sln + Try to build the solution go grab a cup of tea, it may take a. If it fails, run it again and again until there are [hopefully] no errors. -

-

+

+

Running QGIS from within MSVC: Edit the properties of the project ALL_BUILD: Debugging -> Command -> D:\OSGeo4W64\QGIS\ms-windows\osgeo4w\build-qgis-test-x86_64\output\bin\RelWithDebInfo\qgis.exe Run. Ignore the "These projects are out of date" message, it appeares even if no files were was changed. -

-

+

+

Old alternative method that might still work using cmake-gui: Create a 'build' directory somewhere. This will be where all the build output will be generated. -

-

- Now run cmake-gui (still from cmd) and in the Where is the source code: +

+

+ Now run cmake-gui (still from cmd) and in the Where is the source code: box, browse to the top level QGIS directory. -

-

- In the Where to build the binaries: box, browse to the 'build' directory you +

+

+ In the Where to build the binaries: box, browse to the 'build' directory you created. -

-

+

+

If the path to bison and flex contains blanks, you need to use the short name - for the directory (i.e. C:\Program Files should be rewritten to - C:\Progra~n, where n is the number as shown in `dir /x C:\``). -

-

+ for the directory (i.e. C:\Program Files should be rewritten to + C:\Progra~n, where n is the number as shown in `dir /x C:\``). +

+

Verify that the 'BINDINGS_GLOBAL_INSTALL' option is not checked, so that python bindings are placed into the output directory when you run the INSTALL target. -

-

- Hit Configure to start the configuration and select Visual Studio 9 2008 - and keep native compilers and click Finish. -

-

+

+

+ Hit Configure to start the configuration and select Visual Studio 9 2008 + and keep native compilers and click Finish. +

+

The configuration should complete without any further questions and allow you to - click Generate. -

-

- Now close cmake-gui and continue on the command prompt by starting - vcexpress. Use File / Open / Project/Solutions and open the + click Generate. +

+

+ Now close cmake-gui and continue on the command prompt by starting + vcexpress. Use File / Open / Project/Solutions and open the qgis-x.y.z.sln File in your project directory. -

-

- Change Solution Configuration from Debug to RelWithDebInfo (Release - with Debug Info) or Release before you build QGIS using the ALL_BUILD +

+

+ Change Solution Configuration from Debug to RelWithDebInfo (Release + with Debug Info) or Release before you build QGIS using the ALL_BUILD target (otherwise you need debug libraries that are not included). -

-

+

+

After the build completed you should install QGIS using the INSTALL target. -

-

+

+

Install QGIS by building the INSTALL project. By default this will install to c:\Program Files\qgis<version> (this can be changed by changing the CMAKE_INSTALL_PREFIX variable in cmake-gui). -

-

+

+

You will also either need to add all the dependency DLLs to the QGIS install directory or add their respective directories to your PATH. -

+

-

4.1.4. Packaging

+
+
+

4.1.4. Packaging

-

+

To create a standalone installer there is a perl script named 'creatensis.pl' in 'qgis/ms-windows/osgeo4w'. It downloads all required packages from OSGeo4W and repackages them into an installer using NSIS. -

-

+

+

The script can be run on both Windows and Linux. -

-

+

+

On Debian/Ubuntu you can just install the 'nsis' package. -

-

+

+

NSIS for Windows can be downloaded at: -

-
- http://nsis.sourceforge.net -
-

+

+
+ http://nsis.sourceforge.net +
+

And Perl for Windows (including other requirements like 'wget', 'unzip', 'tar' and 'bzip2') is available at: -

-
- http://cygwin.com -
+

+
+ http://cygwin.com +
-

4.1.5. Packaging your own build of QGIS

+
+
+

4.1.5. Packaging your own build of QGIS

-

+

Assuming you have completed the above packaging step, if you want to include your own hand built QGIS executables, you need to copy them in from your windows installation into the ms-windows file tree created by the creatensis script. -

+

-
+
 cd ms-windows/
 rm -rf osgeo4w/unpacked/apps/qgis/*
 cp -r /tmp/qgis1.7.0/* osgeo4w/unpacked/apps/qgis/
-
+
-

+

Now create a package. -

+

-
+
 ./quickpackage.sh
-
+
-

+

After this you should now have a nsis installer containing your own build of QGIS and all dependencies needed to run it on a windows machine. -

+

-

4.1.6. Osgeo4w packaging

+
+
+

4.1.6. Osgeo4w packaging

-

+

The actual packaging process is currently not documented, for now please take a look at: -

-

-ms-windows/osgeo4w/package.cmd -

+

+

+ms-windows/osgeo4w/package.cmd +

- -

4.2. Building using MinGW

+
+
+
+

4.2. Building using MinGW

-

-Note: This section might be outdated as nowadays Visual C++ is use to build +

+Note: This section might be outdated as nowadays Visual C++ is use to build the "official" packages. -

-

-Note: For a detailed account of building all the dependencies yourself you +

+

+Note: For a detailed account of building all the dependencies yourself you can visit Marco Pasetti's website here: -

-

-http://www.webalice.it/marco.pasetti/qgis+grass/BuildFromSource.html -

-

+

+

+http://www.webalice.it/marco.pasetti/qgis+grass/BuildFromSource.html +

+

Read on to use the simplified approach with pre-built libraries... -

+

-

4.2.1. MSYS

+
+

4.2.1. MSYS

-

+

MSYS provides a unix style build environment under windows. We have created a zip archive that contains just about all dependencies. -

-

+

+

Get this: -

-

-http://download.osgeo.org/qgis/win32/msys.zip -

-

+

+

+http://download.osgeo.org/qgis/win32/msys.zip +

+

and unpack to c:\msys -

-

+

+

If you wish to prepare your msys environment yourself rather than using our pre-made one, detailed instructions are provided elsewhere in this document. -

+

-

4.2.2. Qt

+
+
+

4.2.2. Qt

-

+

Download Qt opensource precompiled edition exe and install (including the download and install of mingw) from here: -

-

-http://qt.nokia.com/downloads/ -

-

+

+

+http://qt.nokia.com/downloads/ +

+

When the installer will ask for MinGW, you don't need to download and install it, just point the installer to c:\msys\mingw -

-

+

+

When Qt installation is complete: -

-

+

+

Edit C:\Qt\5.9.1\bin\qtvars.bat and add the following lines: -

+

-
+
 set PATH=%PATH%;C:\msys\local\bin;c:\msys\local\lib 
 set PATH=%PATH%;"C:\Program Files\Subversion\bin" 
-
+
-

+

I suggest you also add C:\Qt\5.9.1\bin\ to your Environment Variables Path in the windows system preferences. -

-

+

+

If you plan to do some debugging, you'll need to compile debug version of Qt: C:\Qt\5.9.1\bin\qtvars.bat compile_debug -

-

+

+

Note: there is a problem when compiling debug version of Qt 4.7, the script ends with this message "mingw32-make: *** No rule to make target `debug'. Stop.". To compile the debug version you have to go out of src directory and execute the following command: -

+

-
+
 c:\Qt\5.9.1 make 
-
+
-

4.2.3. Flex and Bison

+
+
+

4.2.3. Flex and Bison

-

+

Get Flex -http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=16424 +http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=16424 (the zip bin) and extract it into c:\msys\mingw\bin -

+

-

4.2.4. Python

+
+
+

4.2.4. Python

-

+

Follow this section in case you would like to use Python bindings for QGIS. To be able to compile bindings, you need to compile SIP and PyQt5 from sources as their installer doesn't include some development files which are necessary. -

-

+

+

Note that even if you compile without the Python bindings, Python3 is still a necessary dependency for building QGIS. -

+

-

4.2.4.1. Download and install Python - use Windows installer

+
+

4.2.4.1. Download and install Python - use Windows installer

-

+

(It doesn't matter to what folder you'll install it) -

-

-http://python.org/download/ -

+

+

+http://python.org/download/ +

-

4.2.4.2. Download SIP and PyQt5 sources

+
+
+

4.2.4.2. Download SIP and PyQt5 sources

-

-http://www.riverbankcomputing.com/software/sip/download -http://www.riverbankcomputing.com/software/pyqt/download -

-

+

+http://www.riverbankcomputing.com/software/sip/download +http://www.riverbankcomputing.com/software/pyqt/download +

+

Extract each of the above zip files in a temporary directory. Make sure to get versions that match your current Qt installed version. -

+

-

4.2.4.3. Compile SIP

+
+
+

4.2.4.3. Compile SIP

-
+
 c:\Qt\5.9.1\bin\qtvars.bat 
 python configure.py -p win32-g++ 
 make 
 make install 
-
+
-

4.2.4.4. Compile PyQt

+
+
+

4.2.4.4. Compile PyQt

-
+
 c:\Qt\5.9.1\bin\qtvars.bat 
 python configure.py 
 make 
 make install 
-
+
-

4.2.4.5. Final python notes

+
+
+

4.2.4.5. Final python notes

-

+

/!\ You can delete the directories with unpacked SIP and PyQt5 sources after a successful install, they're not needed anymore. -

+

-

4.2.5. git

+
+
+
+

4.2.5. git

-

+

In order to check out QGIS sources from the repository, you need a git client. This installer should work fine: -

-

-https://git-scm.com/download/win -

+

+

+https://git-scm.com/download/win +

-

4.2.6. CMake

+
+
+

4.2.6. CMake

-

+

CMake is build system used by QGIS. Download it from here: -

-

-https://cmake.org/files/v3.9/cmake-3.9.3-win64-x64.msi -

+

+

+https://cmake.org/files/v3.9/cmake-3.9.3-win64-x64.msi +

-

4.2.7. QGIS

+
+
+

4.2.7. QGIS

-

+

Start a cmd.exe window ( Start -> Run -> cmd.exe ) Create development directory and move into it -

+

-
+
 md c:\dev\cpp 
 cd c:\dev\cpp 
-
+
-

+

Check out sources from GIT: -

+

-
+
 git clone git://github.com/qgis/QGIS.git
-
+
-

4.2.8. Compiling

+
+
+

4.2.8. Compiling

-

+

As a background read the generic building with CMake notes at the end of this document. -

-

+

+

Start a cmd.exe window ( Start -> Run -> cmd.exe ) if you don't have one already. Add paths to compiler and our MSYS environment: -

+

-
+
 c:\Qt\5.9.1\bin\qtvars.bat 
-
+
-

+

For ease of use add c:\Qt\5.9.1\bin\ to your system path in system properties so you can just type qtvars.bat when you open the cmd console. Create build directory and set it as current directory: -

+

-
+
 cd c:\dev\cpp\qgis 
 md build 
 cd build 
-
+
-

4.2.9. Configuration

+
+
+

4.2.9. Configuration

-
+
 cmakesetup ..  
-
+
-

-Note: You must include the '..' above. -

-

+

+Note: You must include the '..' above. +

+

Click 'Configure' button. When asked, you should choose 'MinGW Makefiles' as generator. -

-

+

+

There's a problem with MinGW Makefiles on Win2K. If you're compiling on this platform, use 'MSYS Makefiles' generator instead. -

-

+

+

All dependencies should be picked up automatically, if you have set up the Paths correctly. The only thing you need to change is the installation destination (CMAKE_INSTALL_PREFIX) and/or set 'Debug'. -

-

+

+

For compatibility with NSIS packaging scripts I recommend to leave the install prefix to its default c:\program files\ -

-

+

+

When configuration is done, click 'OK' to exit the setup utility. -

+

-

4.2.10. Compilation and installation

+
+
+

4.2.10. Compilation and installation

-
+
  make make install 
-
+
-

4.2.11. Run qgis.exe from the directory where it's installed (CMAKE_INSTALL_PREFIX)

+
+
+

4.2.11. Run qgis.exe from the directory where it's installed (CMAKE_INSTALL_PREFIX)

-

+

Make sure to copy all .dll:s needed to the same directory as the qgis.exe binary is installed to, if not already done so, otherwise QGIS will complain about missing libraries when started. -

-

+

+

A possibility is to run qgis.exe when your path contains c:\msys\local\bin and c:\msys\local\lib directories, so the DLLs will be used from that place. -

+

-

4.2.12. Create the installation package: (optional)

+
+
+

4.2.12. Create the installation package: (optional)

-

-Download and install NSIS from (http://nsis.sourceforge.net/Main_Page) -

-

+

+Download and install NSIS from (http://nsis.sourceforge.net/Main_Page) +

+

Now using windows explorer, enter the win_build directory in your QGIS source tree. Read the READMEfile there and follow the instructions. Next right click on qgis.nsi and choose the option 'Compile NSIS Script'. -

+

- -

4.3. Creation of MSYS environment for compilation of QGIS

+
+
+
+

4.3. Creation of MSYS environment for compilation of QGIS

-

4.3.1. Initial setup

+
+

4.3.1. Initial setup

-

4.3.1.1. MSYS

+
+

4.3.1.1. MSYS

-

+

This is the environment that supplies many utilities from UNIX world in Windows and is needed by many dependencies to be able to compile. -

-

+

+

Download from here: -

-
- http://puzzle.dl.sourceforge.net/sourceforge/mingw/MSYS-1.0.11-2004.04.30-1.exe -
-

-Install to c:\msys -

-

+

+
+ http://puzzle.dl.sourceforge.net/sourceforge/mingw/MSYS-1.0.11-2004.04.30-1.exe +
+

+Install to c:\msys +

+

All stuff we're going to compile is going to get to this directory (resp. its subdirs). -

+

-

4.3.1.2. MinGW

+
+
+

4.3.1.2. MinGW

-

+

Download from here: -

-
- http://puzzle.dl.sourceforge.net/sourceforge/mingw/MinGW-5.1.3.exe -
-

-Install to c:\msys\mingw -

-

-It suffices to download and install only g++ and mingw-make components. -

+

+
+ http://puzzle.dl.sourceforge.net/sourceforge/mingw/MinGW-5.1.3.exe +
+

+Install to c:\msys\mingw +

+

+It suffices to download and install only g++ and mingw-make components. +

-

4.3.1.3. Flex and Bison

+
+
+

4.3.1.3. Flex and Bison

-

+

Flex and Bison are tools for generation of parsers, they're needed for GRASS and also QGIS compilation. -

-

+

+

Download the following packages: -

-
- http://gnuwin32.sourceforge.net/downlinks/flex-bin-zip.php -
-
- http://gnuwin32.sourceforge.net/downlinks/bison-bin-zip.php -
-
- http://gnuwin32.sourceforge.net/downlinks/bison-dep-zip.php -
-

-Unpack them all to c:\msys\local -

+

+
+ http://gnuwin32.sourceforge.net/downlinks/flex-bin-zip.php +
+
+ http://gnuwin32.sourceforge.net/downlinks/bison-bin-zip.php +
+
+ http://gnuwin32.sourceforge.net/downlinks/bison-dep-zip.php +
+

+Unpack them all to c:\msys\local +

-

4.3.2. Installing dependencies

+
+
+
+

4.3.2. Installing dependencies

-

4.3.2.1. Getting ready

+
+

4.3.2.1. Getting ready

-

+

Paul Kelly did a great job and prepared a package of precompiled libraries for GRASS. The package currently includes: -

+

-
    -
  • zlib-1.2.3 -
  • libpng-1.2.16-noconfig -
  • xdr-4.0-mingw2 -
  • freetype-2.3.4 -
  • fftw-2.1.5 -
  • PDCurses-3.1 -
  • proj-4.5.0 -
  • gdal-1.4.1 -
+
    +
  • zlib-1.2.3 +
  • +
  • libpng-1.2.16-noconfig +
  • +
  • xdr-4.0-mingw2 +
  • +
  • freetype-2.3.4 +
  • +
  • fftw-2.1.5 +
  • +
  • PDCurses-3.1 +
  • +
  • proj-4.5.0 +
  • +
  • gdal-1.4.1 +
  • +
-

+

It's available for download here: -

-
- http://www.stjohnspoint.co.uk/grass/wingrass-extralibs.tar.gz -
-

+

+
+ http://www.stjohnspoint.co.uk/grass/wingrass-extralibs.tar.gz +
+

Moreover he also left the notes how to compile it (for those interested): -

-
- http://www.stjohnspoint.co.uk/grass/README.extralibs -
-

-Unpack the whole package to c:\msys\local -

+

+
+ http://www.stjohnspoint.co.uk/grass/README.extralibs +
+

+Unpack the whole package to c:\msys\local +

-

4.3.2.2. GRASS

+
+
+

4.3.2.2. GRASS

-

+

Grab sources from CVS or use a weekly snapshot, see: -

-
- http://grass.itc.it/devel/cvs.php -
-

+

+
+ http://grass.itc.it/devel/cvs.php +
+

In MSYS console go to the directory where you've unpacked or checked out sources -(e.g. c:\msys\local\src\grass-6.3.cvs) -

-

+(e.g. c:\msys\local\src\grass-6.3.cvs) +

+

Run these commands: -

+

-
+
 export PATH="/usr/local/bin:/usr/local/lib:$PATH"
 ./configure --prefix=/usr/local --bindir=/usr/local --with-includes=/usr/local/include --with-libs=/usr/local/lib --with-cxx --without-jpeg \
 --without-tiff --with-postgres=yes --with-postgres-includes=/local/pgsql/include --with-pgsql-libs=/local/pgsql/lib --with-opengl=windows --with-fftw \
@@ -1336,503 +1440,538 @@ export PATH="/usr/local/bin:/usr/local/lib:$PATH"
 --with-proj-share=/usr/local/share/proj
 make
 make install
-
+
-

-It should get installed to c:\msys\local\grass-6.3.cvs -

-

+

+It should get installed to c:\msys\local\grass-6.3.cvs +

+

By the way, these pages might be useful: -

+

- + -

4.3.2.3. GEOS

+
+
+

4.3.2.3. GEOS

-

+

Download the sources: -

-
- http://geos.refractions.net/geos-2.2.3.tar.bz2 -
-

-Unpack to e.g. c:\msys\local\src -

-

-To compile, I had to patch the sources: in file source/headers/timeval.h line 13. +

+
+ http://geos.refractions.net/geos-2.2.3.tar.bz2 +
+

+Unpack to e.g. c:\msys\local\src +

+

+To compile, I had to patch the sources: in file source/headers/timeval.h line 13. Change it from: -

+

-
+
 #ifdef _WIN32
-
+
-

+

to: -

+

-
+
 #if defined(_WIN32) && defined(_MSC_VER)
-
+
-

+

Now, in MSYS console, go to the source directory and run: -

+

-
+
 ./configure --prefix=/usr/local
 make
 make install
-
+
-

4.3.2.4. SQLITE

+
+
+

4.3.2.4. SQLITE

-

+

You can use precompiled DLL, no need to compile from source: -

-

+

+

Download this archive: -

-
- http://www.sqlite.org/sqlitedll-3_3_17.zip -
-

-and copy sqlite3.dll from it to c:\msys\local\lib -

-

+

+
+ http://www.sqlite.org/sqlitedll-3_3_17.zip +
+

+and copy sqlite3.dll from it to c:\msys\local\lib +

+

Then download this archive: -

-
- http://www.sqlite.org/sqlite-source-3_3_17.zip -
-

-and copy sqlite3.h to c:\msys\local\include -

+

+
+ http://www.sqlite.org/sqlite-source-3_3_17.zip +
+

+and copy sqlite3.h to c:\msys\local\include +

-

4.3.2.5. GSL

+
+
+

4.3.2.5. GSL

-

+

Download sources: -

-
- ftp://ftp.gnu.org/gnu/gsl/gsl-1.9.tar.gz -
-

-Unpack to c:\msys\local\src -

-

+

+
+ ftp://ftp.gnu.org/gnu/gsl/gsl-1.9.tar.gz +
+

+Unpack to c:\msys\local\src +

+

Run from MSYS console in the source directory: -

+

-
+
 ./configure
 make
 make install
-
+
-

4.3.2.6. EXPAT

+
+
+

4.3.2.6. EXPAT

-

+

Download sources: -

-
- http://dfn.dl.sourceforge.net/sourceforge/expat/expat-2.0.0.tar.gz -
-

-Unpack to c:\msys\local\src -

-

+

+
+ http://dfn.dl.sourceforge.net/sourceforge/expat/expat-2.0.0.tar.gz +
+

+Unpack to c:\msys\local\src +

+

Run from MSYS console in the source directory: -

+

-
+
 ./configure
 make
 make install
-
+
-

4.3.2.7. POSTGRES

+
+
+

4.3.2.7. POSTGRES

-

+

We're going to use precompiled binaries. Use the link below for download: -

-
- http://wwwmaster.postgresql.org/download/mirrors-ftp?file=%2Fbinary%2Fv8.2.4%2Fwin32%2Fpostgresql-8.2.4-1-binaries-no-installer.zip -
-

-copy contents of pgsql directory from the archive to c:\msys\local -

+

+
+ http://wwwmaster.postgresql.org/download/mirrors-ftp?file=%2Fbinary%2Fv8.2.4%2Fwin32%2Fpostgresql-8.2.4-1-binaries-no-installer.zip +
+

+copy contents of pgsql directory from the archive to c:\msys\local +

-

4.3.3. Cleanup

+
+
+
+

4.3.3. Cleanup

-

-We're done with preparation of MSYS environment. Now you can delete all stuff in c:\msys\local\src - it takes quite a lot +

+We're done with preparation of MSYS environment. Now you can delete all stuff in c:\msys\local\src - it takes quite a lot of space and it's not necessary at all. -

+

- -

4.4. Building on Linux with mxe

+
+
+
+

4.4. Building on Linux with mxe

-

+

With this approach you can cross build a Windows binary on Linux using MXE (M cross environment). You can find the build script and a README.md file in the ms-windows/mxe directory. -

-

+

+

For now, Python buildings cannot be built with mxe. -

+

-

4.4.1. Building with Docker

+
+

4.4.1. Building with Docker

-

+

This is the simplest way, but you need to have Docker installed on your system. -

-

+

+

You can use a Docker image to cross build QGIS by calling the script ms-windows/mxe/build.sh from the root directory of QGIS repository. -

-

+

+

=== Building without Docker ==== -

-

+

+

This requires to install mxe toolchain on your system and build all dependencies by yourself. -

+

-

4.4.1.1. Initial setup

+
+

4.4.1.1. Initial setup

-

-Please follow the instructions on mxe website to setup your building toolchain http://mxe.cc/, +

+Please follow the instructions on mxe website to setup your building toolchain http://mxe.cc/, take note of the path where you have installed mxe. -

+

-

4.4.1.2. Building the dependencies

+
+
+

4.4.1.2. Building the dependencies

-

+

Please see README.md under ms-windows/mxe for detailed instructions and for the list of dependencies that need to be built in mxe before attempting to build QGIS. -

+

-

4.4.1.3. Cross-Building QGIS

+
+
+

4.4.1.3. Cross-Building QGIS

-

+

Edit the build-mxe.sh script and optionally adjust the path where your mxe installation is located, you can also change the build and release directories. -

+

-

4.4.2. Testing QGIS

+
+
+
+

4.4.2. Testing QGIS

-

+

Copy and unzip on the Windows machine package produced by the build and launch the qgis binary: no installation is required. -

+

- -

5. Building on MacOS X

+
+
+
+
+

5. Building on MacOS X

-

+

In this approach I will try to avoid as much as possible building dependencies from source and rather use frameworks wherever possible. -

-

+

+

"Universal", SDK and non-default arch builds require more complex options and some fiddling with the system. It is best to stick with a single, default, architecture build and follow these instructions for an initial build. -Included are notes for building on Mac OS X 10.5 (Leopard), 10.6 -(Snow Leopard), 10.7 (Lion), 10.8 (Mt. Lion) and 10.9 (Mavericks) +Included are notes for building on Mac OS X 10.5 (Leopard), 10.6 +(Snow Leopard), 10.7 (Lion), 10.8 (Mt. Lion) and 10.9 (Mavericks) (These names will be used throughout the instructions.) Make sure to read each section completely before typing the first command you see. -

-

-General note on Terminal usage: When I say "cd" to a folder in a Terminal, +

+

+General note on Terminal usage: When I say "cd" to a folder in a Terminal, it means type "cd " (without the quotes, make sure to type a space after) and then type the path to said folder, then <return>. A simple way to do this without having to know and type the full path is, after type the "cd " part, drag the folder (use the icon in its window title bar, or drag a folder from within a window) from the Desktop to the Terminal, then tap <return>. -

-

-Parallel Compilation: On multiprocessor/multicore Macs, it's possible to +

+

+Parallel Compilation: On multiprocessor/multicore Macs, it's possible to speed up compilation, but it's not automatic. Whenever you type "make" (but NOT "make install"), instead type: -

+

-
+
 make -j [#cpus]
-
+
-

+

Replace [#cpus] with the number of cores and/or processors your Mac has. On recent models with hyperthreading processors this can be double the physical count of processors and cores. -

-

+

+

ie: Mac Pro "8 Core" model (2 quad core processors) = 8 -

-

+

+

ie: Macbook Pro i5 (hyperthreading) = 2 cores X 2 = 4 -

-

+

+

To find out how many CPUs you have available, run the following in Terminal: -

+

-
+
 /usr/sbin/sysctl -n hw.ncpu
-
+
-

+

which can be used in build shell scripts like: -

+

-
+
 make -j $(/usr/sbin/sysctl -n hw.ncpu)
-
+
-

-Note: if you get an error in parallel compilation, try removing the -j # flag, +

+Note: if you get an error in parallel compilation, try removing the -j # flag, so it's just 'make', or using a smaller number. Sometimes make can hiccup on too many threads. -

+

- -

5.1. Install Developer Tools

+
+

5.1. Install Developer Tools

-

+

Developer tools are not a part of a standard OS X installation. Up through Snow Leopard, the Developer Tools, later called Xcode, were included with the system install disks, though it's best to download the latest version compatible with your system to get important updates fixing various issues. Starting with Lion, Xcode is available as a download and from the App Store. -

-

+

+

Downloading Xcode/Developer Tools for up through Snow Leopard requires a free developer account at -developer.apple.com. Up through Snow Leopard, get the latest Xcode that is +developer.apple.com. Up through Snow Leopard, get the latest Xcode that is supported for your system. For Lion and above, you can get Xcode from either a free developer account or for a minimal fee from the app store. When installing Xcode up through Snow Leopard, make sure to do a custom install and install the Unix Development or Command Line Tools option. -

-

+

+

On Lion, if you have installed Xcode 4.0 - 4.2 and are upgrading to 4.3, it's a good idea to uninstall the old version first with: -

+

-
+
 sudo /Developer/Library/uninstall-devtools
-
+
-

+

On Lion and Mt. Lion, using Xcode 4.4+, the developer command line tools can be installed via the Xcode preferences. -

-

+

+

Xcode 4.3+ also introduces the clang frontend to the LLVM compiler as default. -

-

-Note: In XCODE 4.5 installed from the app store, you need to install the +

+

+Note: In XCODE 4.5 installed from the app store, you need to install the command line tools from XCode -> Preferences -> Downloads and choose command line tools. -

-

-http://clang.llvm.org/ -

-

+

+

+http://clang.llvm.org/ +

+

The supplied clang version 4 can compile QGIS, but presents many warnings compared to just using LLVM. You can specifically use LLVM by exporting paths to the compilers in Terminal, or shell scripts, prior to building QGIS: -

+

-
+
 export CC=/usr/bin/llvm-gcc
 export CXX=/usr/bin/llvm-g++
-
+
-

+

If you have trouble building some of the dependencies listed below with clang (e.g. OSG & osgEarth), try using only the LLVM compilers. -

+

- -

5.2. Install Qt4 from disk image

+
+
+

5.2. Install Qt4 from disk image

-

+

You need a minimum of Qt-4.4.0. I suggest getting the latest (Qt 4, not 5). There is no need for the full Qt SDK, so save yourself some download time and get the frameworks only. This is available in the Libraries section of the Qt download page. -

-

-Snow Leopard+ note: If you are building on Snow Leopard+, you will need to +

+

+Snow Leopard+ note: If you are building on Snow Leopard+, you will need to decide between 32-bit support in the older Qt Carbon branch, or 64-bit support in the Qt Cocoa branch. Appropriate installers are available for both as of Qt-4.5.2, though they stopped making Carbon packages at Qt 4.7.4. Qt 4.6+ is recommended for Cocoa. Starting with Lion, Carbon may not work properly, if at all. Starting with Qt 4.8, only 64bit Cocoa installers are available. -

-

-General note: Support for new system versions in any given Qt version may +

+

+General note: Support for new system versions in any given Qt version may not be present and may cause a 'This version of Mac OS X is unsupported' error when building QGIS. Try the next Qt version. -

-

-PPC note: The readymade Qt Cocoa installers don't include PPC support, you'd +

+

+PPC note: The readymade Qt Cocoa installers don't include PPC support, you'd have to compile Qt yourself. But, there appear to be issues with Qt Cocoa on PPC Macs anyways. Qt Carbon is recommended on PPC Macs. -

-

-http://qt-project.org/downloads -

-

+

+

+http://qt-project.org/downloads +

+

If you want debug frameworks, Qt also provides a separate download with these. These are in addition to the non-debug frameworks. -

-

+

+

Earlier OS X systems may need an old Qt version - check the requirements of the current Qt version. To get old Qt downloads, there is an FTP link at the bottom of the download page. Files are in the qt/source (yes, even the binary packages). -

-

+

+

Once downloaded open the disk image and run the installer. Note you need admin privileges to install. -

-

-Leopard+ note: Qt includes a couple non-framework libraries in /usr/lib. +

+

+Leopard+ note: Qt includes a couple non-framework libraries in /usr/lib. When using a system SDK these libraries will not be found. To fix this problem, add symlinks to /usr/local: -

+

-
+
 sudo ln -s /usr/lib/libQtUiTools.a /usr/local/lib/
 sudo ln -s /usr/lib/libQtCLucene.dylib /usr/local/lib/
-
+
-

+

These should then be found automatically. Earlier systems may need some help by adding '-L/usr/local/lib' to CMAKE_SHARED_LINKER_FLAGS, CMAKE_MODULE_LINKER_FLAGS and CMAKE_EXE_LINKER_FLAGS in the cmake build. -

+

- -

5.3. Install CMake for OSX

+
+
+

5.3. Install CMake for OSX

-

+

Get the latest source release from here: -

-

-http://www.cmake.org/cmake/resources/software.html -

-

+

+

+http://www.cmake.org/cmake/resources/software.html +

+

Binary installers are available for OS X, but they are not recommended (2.4 versions install in /usr instead of /usr/local, and 2.6+ versions are a strange application). Instead, download the source. NOTE: 2.8.5 is broken for detecting part of Qt. Fixed in 2.8.6. Double-click the source tarball to unpack it, then cd to the source folder and: -

+

-
+
 ./bootstrap --docdir=/share/doc/CMake --mandir=/share/man
 make -j [#cpus]
 sudo make install
-
+
-

5.3.1. Optional setup: ccache

+
+

5.3.1. Optional setup: ccache

-

-Xcode 4.4+ note: You will probably not need to install ccache if you are using +

+Xcode 4.4+ note: You will probably not need to install ccache if you are using the clang frontend to LLVM compiler, a setup that already provides fairly quick compile times. -

-

+

+

Setup ccache to significantly speed up compile times after initial build. (Switching git branches will again cause longer initial build times unless separate build directories are used for each branch.) -

-

+

+

Get the latest source release from here: -

-

-http://ccache.samba.org/ -

-

+

+

+http://ccache.samba.org/ +

+

Double-click the source tarball to unpack, then, in Terminal.app, cd to the source folder and: -

+

-
+
 ./configure
 make
 sudo make install
-
+
-

+

After install, symbolically link compilers to /usr/local/bin/ccache. -(Note: this differs from instructions at http://ccache.samba.org/manual.html +(Note: this differs from instructions at http://ccache.samba.org/manual.html Changing the /usr/bin:/usr/local/bin order in PATH is not recommended on OS X. -

+

-
+
 sudo mkdir /usr/local/bin/compilers && cd /usr/local/bin/compilers
 sudo ln -s ../ccache gcc
 sudo ln -s ../ccache g++
 sudo ln -s ../ccache cc
 sudo ln -s ../ccache c++
-
+
-

+

Add the following to the end of your ~/.bash_profile (and optionally ~/.bashrc) to allow your login shell to discover the symbolically linked compilers before /usr/bin compilers and to easily toggle using ccache off, by commenting out the line and starting a new login session in Terminal. -

+

-
+
 export PATH=/usr/local/bin/compilers:$PATH
-
+
-

+

If you have trouble building some of the dependencies listed below (e.g. OSG & osgEarth), try bypassing ccache. -

+

- -

5.4. Install development frameworks for QGIS dependencies

+
+
+
+

5.4. Install development frameworks for QGIS dependencies

-

+

Download William Kyngesburye's excellent GDAL Complete package that includes PROJ, GEOS, GDAL, SQLite3, SpatiaLite, and image libraries, as frameworks. There are also GSL and FreeType frameworks. -

-

-http://www.kyngchaos.com/software/frameworks -

-

+

+

+http://www.kyngchaos.com/software/frameworks +

+

Once downloaded, open and install the frameworks. -

-

+

+

William provides an additional installer package for PostgreSQL (for PostGIS support). QGIS just needs the libpq client library, so unless you want to setup the full Postgres + PostGIS server, all you need is the client-only package. It's available here: -

-

-http://www.kyngchaos.com/software/postgres -

-

+

+

+http://www.kyngchaos.com/software/postgres +

+

Also available is a GRASS application: -

-

-http://www.kyngchaos.com/software/grass -

-

+

+

+http://www.kyngchaos.com/software/grass +

+

Old versions of these packages for older systems are available in the software archive section. -

+

-

5.4.1. Additional dependencies: General compatibility note

+
+

5.4.1. Additional dependencies: General compatibility note

-

+

There are some additional dependencies that, at the time of writing, are not provided as frameworks or installers so we will need to build these from source. If you are wanting to build QGIS as a 64-bit application, you will need to @@ -1840,363 +1979,379 @@ provide the appropriate build commands to produce 64-bit support in dependencies Likewise, for 32-bit support on Snow Leopard, you will need to override the default system architecture, which is 64-bit, according to instructions for individual dependency packages. -

-

+

+

Stable release versions are preferred. Beta and other development versions may have problems and you are on your own with those. -

+

-

5.4.2. Additional dependencies: Expat

+
+
+

5.4.2. Additional dependencies: Expat

-

-Snow Leopard+ note: Snow Leopard includes a usable expat, so this step is +

+Snow Leopard+ note: Snow Leopard includes a usable expat, so this step is not necessary on Snow Leopard or above. -

-

+

+

Get the expat sources: -

-

-http://sourceforge.net/project/showfiles.php?group_id=10127 -

-

+

+

+http://sourceforge.net/project/showfiles.php?group_id=10127 +

+

Double-click the source tarball to unpack, then, in Terminal.app, cd to the source folder and: -

+

-
+
 ./configure
 make
 sudo make install
-
+
-

5.4.3. Additional dependencies: Spatialindex

+
+
+

5.4.3. Additional dependencies: Spatialindex

-

+

Get the libspatialindex sources: -

-

-http://download.osgeo.org/libspatialindex/ -

-

+

+

+http://download.osgeo.org/libspatialindex/ +

+

Double-click the source tarball to unpack, then, in Terminal.app, cd to the source folder and: -

+

-
+
 ./configure --disable-dependency-tracking CFLAGS=-Os
 make
 sudo make install
-
+
-

5.4.4. Additional dependencies: Python

+
+
+

5.4.4. Additional dependencies: Python

-

-Leopard+ note: Starting with Leopard a usable Python is included +

+Leopard+ note: Starting with Leopard a usable Python is included in the system. This is Python 2.5, 2.6 and 2.7, respectively for Leo, Snow and Lion+. So there is no need to install Python on Leopard and newer. You can still install Python from python.org if preferred. -

-

+

+

If installing from python.org, make sure you install the latest Python 2.x from -

-

-http://www.python.org/download/ -

-

+

+

+http://www.python.org/download/ +

+

Python 3 is a major change, and may have compatibility issues, so try it at your own risk. -

+

-

5.4.5. Additional dependencies: SIP

+
+
+

5.4.5. Additional dependencies: SIP

-

-Mt Lion note: SIP 4.15.7 appears to not work on Mt Lion. Install either +

+Mt Lion note: SIP 4.15.7 appears to not work on Mt Lion. Install either a prior version to 4.14.6 or a later version 4.16.3+ -

-

+

+

Retrieve the python bindings toolkit SIP from -

-

-http://www.riverbankcomputing.com/software/sip/download -

-

+

+

+http://www.riverbankcomputing.com/software/sip/download +

+

Double-click the source tarball to unpack it, then, in Terminal.app, cd to the source folder. Then for your chosen Python: -

-

-python.org Python -

+

+

+python.org Python +

-
+
 python configure.py
 make
 sudo make install
-
+
-

-Leopard system Python -

-

+

+Leopard system Python +

+

SIP wants to install in the system path -- this is not a good idea. More configuration is needed to install outside the system path: -

+

-
+
 python configure.py -n -d /Library/Python/2.5/site-packages -b /usr/local/bin \
 -e /usr/local/include -v /usr/local/share/sip -s MacOSX10.5.sdk
-
+
-

-Snow Leopard system Python -

-

+

+Snow Leopard system Python +

+

Similar to Leopard, you should install outside the system Python path. Also, you need to specify the architecture you want and make sure to run the versioned python binary (this one responds to the 'arch' command, 'python' does not). Substitute '2.7' for python version and 10.7 for SDK version below for Lion. -

-

+

+

If you are using 32-bit Qt (Qt Carbon): -

+

-
+
 python2.6 configure.py -n -d /Library/Python/2.6/site-packages -b /usr/local/bin \
 -e /usr/local/include -v /usr/local/share/sip --arch=i386 -s MacOSX10.6.sdk
-
+
-

+

For 64-bit Qt (Qt Cocoa), use this configure line: -

+

-
+
 python2.6 configure.py -n -d /Library/Python/2.6/site-packages -b /usr/local/bin \
 -e /usr/local/include -v /usr/local/share/sip --arch=x86_64 -s MacOSX10.6.sdk
-
+
-

-Lion+ system Python -

-

+

+Lion+ system Python +

+

Similar to Snow Leopard, you should install outside the system Python path. The SDK option should match the system you are compiling on: -

-

+

+

for Lion: -

+

-
+
 python2.7 configure.py -d /Library/Python/2.7/site-packages -b /usr/local/bin \
 -e /usr/local/include -v /usr/local/share/sip --arch=x86_64 -s MacOSX10.7.sdk
-
+
-

+

for Mt. Lion: -

+

-
+
 python2.7 configure.py -d /Library/Python/2.7/site-packages -b /usr/local/bin \
 -e /usr/local/include -v /usr/local/share/sip --arch=x86_64 -s MacOSX10.8.sdk
-
+
-

+

for Mavericks: -

+

-
+
 python2.7 configure.py -d /Library/Python/2.7/site-packages -b /usr/local/bin \
 -e /usr/local/include -v /usr/local/share/sip --arch=x86_64 -s MacOSX10.9.sdk
-
+
-

-continue... -

-

+

+continue... +

+

Then continue with compilation and installation: -

+

-
+
 make
 sudo make install
-
+
-

5.4.6. Additional dependencies: QScintilla2

+
+
+

5.4.6. Additional dependencies: QScintilla2

-

+

Retrieve the Qt version of the Scintilla-based text editor widget from -

-

-http://www.riverbankcomputing.co.uk/software/qscintilla/download -

-

+

+

+http://www.riverbankcomputing.co.uk/software/qscintilla/download +

+

Double-click the tarball to unpack it. Then, cd to the QScintilla2.x.x source folder in a Terminal. -

-

+

+

QScintilla2 wants to install in the system path -- with libraries going into /Library/Frameworks and headers into /usr/include/Qsci -- this is not a good idea, and it also basically breaks the QtDesigner plugin. More configuration is needed to install outside the system path, in /usr/local/: -

+

-
+
 cd Qt4Qt5
-
+
-

+

Edit QScintilla-gpl-2.x.x/Qt4Qt5/qscintilla.pro in the following manner: -

+

-
+
 current line --> new line
 
 target.path = $$[QT_INSTALL_LIBS]  -->  target.path = /usr/local/lib
 header.path = $$[QT_INSTALL_HEADERS]  -->  header.path = /usr/local/include
-
+
-

+

Save the qscintilla.pro file and build the QScintilla2 C++ library: -

+

-
+
 qmake -spec macx-g++ qscintilla.pro
 make -j [#cpus]
 sudo make install
-
+
-

+

adjust the install_name_tool command for the version installed of QScintilla installed: -

+

-
+
 sudo install_name_tool -id /usr/local/lib/libqscintilla2.11.dylib \
   /usr/local/lib/libqscintilla2.11.dylib
-
+
-

+

This installs QScintilla2's dylib in /usr/local/lib/ and the header files in /usr/local/include/Qsci/, both of which should be automatically found when building QGIS. -

+

-

5.4.6.1. Optional setup: QScintilla2 QtDesigner plugin

+
+

5.4.6.1. Optional setup: QScintilla2 QtDesigner plugin

-

+

The plugin allows QScintilla2 widgets to be used within QtDesigner. -

+

-
+
 cd <QScintilla2 source directory>
 cd designer-Qt4Qt5
 qmake -spec macx-g++ designer.pro
 make
 sudo make install
-
+
-

+

Installs in /Developer/Applications/Qt/plugins/designer/ -

+

-

5.4.7. Additional dependencies: PyQt

+
+
+
+

5.4.7. Additional dependencies: PyQt

-

+

Retrieve the python bindings toolkit for Qt from -

-

-http://www.riverbankcomputing.com/software/pyqt/download -

-

+

+

+http://www.riverbankcomputing.com/software/pyqt/download +

+

Double-click the source tarball to unpack it, then, in Terminal.app, cd to the source folder. Then for your chosen Python: -

-

-python.org Python -

+

+

+python.org Python +

-
+
 python configure.py -n /usr/local/Qt4.8/qsci
 yes
-
+
-

-Leopard system Python -

-

+

+Leopard system Python +

+

PyQt wants to install in the system path -- this is not a good idea. More configuration is needed to install outside the system path: -

+

-
+
 python configure.py -d /Library/Python/2.5/site-packages -b /usr/local/bin -n /usr/local/Qt4.8/qsci -v /usr/local/share/sip/PyQt4
-
+
-

-Snow Leopard system Python -

-

+

+Snow Leopard system Python +

+

Similar to Leopard, you should install outside the system Python path. Also, you need to specify the architecture you want (requires at least PyQt 4.6), and make sure to run the versioned python binary (this one responds to the 'arch' command, which is important for pyuic4, 'python' does not). Substitute '2.7' for python version and 10.7 for SDK version below for Lion. -

-

+

+

If you are using 32-bit Qt (Qt Carbon): -

+

-
+
 python2.6 configure.py -d /Library/Python/2.6/site-packages -b /usr/local/bin \
 -n /usr/local/Qt4.8/qsci -v /usr/local/share/sip/PyQt4 --use-arch i386
-
+
-

+

For 64-bit Qt (Qt Cocoa), use this configure line: -

+

-
+
 python2.6 configure.py -d /Library/Python/2.6/site-packages -b /usr/local/bin \
 -n /usr/local/Qt4.8/qsci -v /usr/local/share/sip/PyQt4 --use-arch x86_64
-
+
-

-Lion, Mt. Lion, and Mavericks system Python -

-

+

+Lion, Mt. Lion, and Mavericks system Python +

+

Similar to Snow Leopard, you should install outside the system Python path. But you don't need the use-arch option: -

+

-
+
 python2.7 configure.py -d /Library/Python/2.7/site-packages -b /usr/local/bin -n /usr/local/Qt4.8/qsci -v /usr/local/share/sip/PyQt4
-
+
-

-continue... -

+

+continue... +

-
+
 make -j [#cpus]
 sudo make install
-
+
-

+

If there is a problem with undefined symbols in QtOpenGL on Leopard, edit QtOpenGL/makefile and add -undefined dynamic_lookup to LFLAGS. Then make again. -

+

-

5.4.8. Additional dependencies: QScintilla2 Python Module

+
+
+

5.4.8. Additional dependencies: QScintilla2 Python Module

-

+

This will create the Qsci.so module in /Library/Python/2.x/site-packages/PyQt4. Like PyQt, it needs help to not install in system locations. -

-

-Snow Leopard: substitute '2.6' for Python version -

+

+

+Snow Leopard: substitute '2.6' for Python version +

-
+
 cd <QScintilla2 source dir>
 cd Python
 python2.7 configure.py -o /usr/local/lib -n /usr/local/include \
@@ -2209,36 +2364,38 @@ EOF
 qmake -spec macx-g++ Qsci.pro
 make -j [#cpus]
 sudo make install
-
+
-

+

The -o and -n options should match the QScintilla2 C++ dylib install options. -

+

-

5.4.9. Additional dependencies: Qwt

+
+
+

5.4.9. Additional dependencies: Qwt

-

+

The GPS tracking feature uses Qwt. -

-

+

+

NOTE: PyQwt is not compatible with PyQt 4.9, so we will skip that. -

-

+

+

Download the latest Qwt 6.0 source (6.1 does not work with the QwtPolar in QGIS) from: -

-

-http://sourceforge.net/projects/qwt -

-

+

+

+http://sourceforge.net/projects/qwt +

+

Double-click the tarball to unpack it. Now, cd to the qwt source folder in a Terminal. -

-

+

+

Type these commands to build and install 6.0.x (assumes v6.0.2, adjust commands for other version as needed): -

+

-
+
 cat >> qwtconfig.pri <<EOF
 QWT_CONFIG -= QwtFramework
 EOF
@@ -2248,141 +2405,149 @@ sudo make install
 
 sudo install_name_tool -id /usr/local/qwt-6.0.2/lib/libqwt.6.dylib \
   /usr/local/qwt-6.0.2/lib/libqwt.6.dylib
-
+
-

+

The Qwt shared library is now installed in /usr/local/qwt-6.0.x (x is the point version). Remember this for QGIS configuration. -

+

-

5.4.10. Additional dependencies: Bison

+
+
+

5.4.10. Additional dependencies: Bison

-

+

The version of bison available by default on Mac OS X is too old so you need to get a more recent one on your system. Download at least version 2.4 from: -

+

-
+
 ftp.gnu.org/gnu/bison/
-
+
-

+

Now build and install it to a prefix of /usr/local. Double-click the source tarball to unpack it, then cd to the source folder and: -

+

-
+
 ./configure --disable-dependency-tracking CFLAGS=-Os
 make
 sudo make install
-
+
-

5.4.11. Additional dependencies: gpsbabel

+
+
+

5.4.11. Additional dependencies: gpsbabel

-

+

For integrated GPS Tools functions, a gpsbabel executable is required. You can find this at: -

-

-http://www.gpsbabel.org/ -

-

+

+

+http://www.gpsbabel.org/ +

+

Download the GPSBabel OS X package, and copy GPSBabelFE.app from the disk image to /Applications. -

+

-

5.4.12. Optional dependencies: libfcgi

+
+
+

5.4.12. Optional dependencies: libfcgi

-

+

If you want to use the QGIS Mapserver, you need libfcgi. This is included on systems up through Snow Leopard, but was dropped at Lion. So, on Lion you need to get the source from: -

-

-http://www.fastcgi.com/dist/ -

-

+

+

+http://www.fastcgi.com/dist/ +

+

Grab the latest fcgi SNAP package there. Double-click the source tarball to unpack it, then cd to the source folder and: -

+

-
+
 ./configure --disable-dependency-tracking CFLAGS=-Os
 make
 sudo make install
-
+
-

5.4.13. Optional dependencies: OSG & osgEarth

+
+
+

5.4.13. Optional dependencies: OSG & osgEarth

-

+

If you want the Globe plugin in QGIS (default OFF), OSG and osgEarth are needed. -

-

-First, OpenSceneGraph. The main site is very out of date, just go to +

+

+First, OpenSceneGraph. The main site is very out of date, just go to github: -

-

-http://github.com/openscenegraph/osg/tags -

-

+

+

+http://github.com/openscenegraph/osg/tags +

+

Download the latest 3.1 version (you can select a tarball when you hover over the entry). Double-click the source tarball to unpack it. (There is a version numbering oddity in the source, but since we'll be bundling OSG as it's meant to be, it really doesn't matter). -

-

+

+

Installation is a bit out of touch with OS X standards, so we'll stage it to a temporary location first. You could stage it to the folder that the OSG source folder is in, or a common staging area like /Users/Shared/unix/osg. Pick a folder not hidden and that doesn't need admin permissions to write to for simplicity. -

-

+

+

If you are building on Leopard, its configure forces a old ppc/i386 32bit build. If you want 64bit you need to fix CMakeLists.txt - in a text editor, find the if-block that starts with: -

+

-
+
 ELSEIF(${OSG_OSX_SDK_NAME} STREQUAL "macosx10.6" OR ${OSG_OSX_SDK_NAME} STREQUAL "macosx10.5")
-
+
-

+

In that section before the next ELSEIF, change: -

+

-
+
 ppc;i386
-
+
-

+

to: -

+

-
+
 i386;x86_64
-
+
-

+

and change: -

+

-
+
 mmacosx-version-min=10.5
-
+
-

+

to: -

+

-
+
 mmacosx-version-min=10.6
-
+
-

+

In a new Terminal cd to the source folder and: -

+

-
+
 mkdir build
 cd build
 cmake -D CMAKE_INSTALL_PREFIX=/path/to/some/staging/folder \
@@ -2396,54 +2561,54 @@ cmake -D CMAKE_INSTALL_PREFIX=/path/to/some/staging/folder \
 make
 make install
 sudo mkdir -p "/Library/Application Support/OpenSceneGraph/PlugIns"
-
+
-

+

Open the staging folder you chose for the CMAKE_INSTALL_PREFIX option above. -

-

+

+

Now move all .frameworks from the lib/ folder in the staging area to /Library/Frameworks. Move the files in the osgPlugins folder in the lib/ folder to /Library/Application Support/OpenSceneGraph/PlugIns. The bin/ executables can be left where they are. -

-

-Next up is libzip. Get the latest tarball at: -

-

-http://nih.at/libzip/ -

-

+

+

+Next up is libzip. Get the latest tarball at: +

+

+http://nih.at/libzip/ +

+

Double-click the source tarball to unpack it. In a new Terminal cd to the source folder and: -

+

-
+
 ./configure --disable-dependency-tracking --disable-shared CFLAGS=-Os
 make
 sudo make install
-
+
-

-Then it's time for osgEarth. Downloads are also on github: -

-

-http://github.com/gwaldron/osgearth/tags -

-

+

+Then it's time for osgEarth. Downloads are also on github: +

+

+http://github.com/gwaldron/osgearth/tags +

+

Download a tarball for the latest stable release (sorting can be confusing here). Double-click the source tarball to unpack it. -

-

-Note: for now stick with version 2.3. There are compile errors in 2.4 that need attention. -

-

+

+

+Note: for now stick with version 2.3. There are compile errors in 2.4 that need attention. +

+

This one also needs an intermediate staging area. Choose a folder similar to OSG. -

-

+

+

In a new Terminal cd to the source folder and: -

+

-
+
 mkdir build
 cd build
 export PATH="/path/to/osg/staging/folder/bin:$PATH"
@@ -2454,113 +2619,117 @@ cmake -D CMAKE_INSTALL_PREFIX=/path/to/some/staging/folder \
 make
 make install
 sudo mkdir -p "/Library/Application Support/OpenSceneGraph/Headers"
-
+
-

+

Open the staging folder you chose for the CMAKE_INSTALL_PREFIX option above. Also open the OSG staging path /bin folder from the OSG build. -

-

+

+

Move all the .frameworks from the lib/ folder to /Library/Frameworks. Move the files in the osgPlugins folder in the lib/ folder to /Library/Application Support/OpenSceneGraph/PlugIns. Move the osgEarthDrivers folder in the include/ folder to /Library/Application Support/OpenSceneGraph/Headers. (you may need to create this folder) And as for OSG, you can leave the bin/ executables where they are. -

+

- -

5.5. API documentation

+
+
+
+

5.5. API documentation

-

+

If you want to build a local copy of the API docs (like those at -http://doc.qgis.org/api) you will need Graphviz and Doxygen installed: -

-

-http://www.graphviz.org/Download_macos.php -

-

-http://www.stack.nl/~dimitri/doxygen/download.html -

-

+http://doc.qgis.org/api) you will need Graphviz and Doxygen installed: +

+

+http://www.graphviz.org/Download_macos.php +

+

+http://www.stack.nl/~dimitri/doxygen/download.html +

+

Graphviz is simply installed via a regular Mac package installer. Install it first. It will place some of its binaries in /usr/local/bin/. -

-

+

+

For Doxygen, compiling the source is recommended over installing the app. Double-click the source tarball to unpack it, then cd to the source folder and: -

+

-
+
 ./configure
 make -j [#cpus]
 sudo make install
-
+
-

+

The documentation will be output to the build directory, and if using more complete QGIS.app bundling on install, inside the app in: -

-

+

+

QGIS.app/Contents/Resources/doc -

+

- -

5.6. QGIS source

+
+
+

5.6. QGIS source

-

+

Unzip the QGIS source tarball to a working folder of your choice (/usr/somewhere is not a good choice as it's hidden and requires root privileges). If you are reading this from the source, you've already done this. -

-

+

+

If you want to experiment with the latest development sources, go to the github QGIS project page: -

-

-http://github.com/qgis/QGIS -

-

-It should default to the master branch. Click the Downloads button and -select Download .tar.gz. Double-click the tarball to unzip it. -

-

-Alternatively, install git from http://git-scm.com and do the following. -

-

+

+

+http://github.com/qgis/QGIS +

+

+It should default to the master branch. Click the Downloads button and +select Download .tar.gz. Double-click the tarball to unzip it. +

+

+Alternatively, install git from http://git-scm.com and do the following. +

+

Make a specific repository directory somewhere, e.g. ~/QGIS/QGIS, and cd into it. The following will read-only clone the master branch to the directory: -

+

-
+
 git init
 git remote add -f -t master -m master qgisupstream git://github.com/qgis/QGIS.git
 git merge qgisupstream
 
-
+
- -

5.7. Configure the build

+
+
+

5.7. Configure the build

-

+

CMake supports out of source build so we will create a 'build' dir for the build process. OS X uses ${HOME}/Applications as a standard user app folder (it gives it the system app folder icon). If you have the correct permissions you may want to build straight into your /Applications folder. The instructions below assume you are building into a ${HOME}/Applications directory. -

-

+

+

You have two interactive options for configuring the build: ccmake or run Terminal commands. ccmake is a curses interface inside Terminal for CMake and allows a tabular layout for viewing and editing ALL available QGIS source CMake options. To get started initially run the Terminal method. -

-

+

+

In a Terminal cd to the qgis source folder previously downloaded, then: -

+

-
+
 mkdir build
 cd build
 cmake -D CMAKE_INSTALL_PREFIX=~/Applications \
@@ -2571,56 +2740,56 @@ cmake -D CMAKE_INSTALL_PREFIX=~/Applications \
 -D QWT_INCLUDE_DIR=/usr/local/qwt-6.0.2/include \
 -D BISON_EXECUTABLE=/usr/local/bin/bison \
 ..
-
+
-

-Note: Don't forget the .. on the last line, which tells CMake to look for the +

+Note: Don't forget the .. on the last line, which tells CMake to look for the source files in one directory up. -

-

+

+

After the initial Terminal configure, you can use ccmake to make further changes: -

+

-
+
 cd build
 ccmake ..
-
+
-

+

This will automatically find and use the previously installed frameworks, and the GRASS application if installed. Remember to change the Qwt version if a different version was installed, and possibly paths, e.g. for Qwt 6.0.2 installed as a framework use: -

+

-
+
 -D QWT_LIBRARY=/usr/local/qwt-6.0.2/lib/qwt.framework/qwt \
 -D QWT_INCLUDE_DIR=/usr/local/qwt-6.0.2/lib/qwt.framework/Headers \
-
+
-

+

If you want to use a newer PostgreSQL client than the default Mac OS X version, e.g. install from kyngchaos.com, set the following option to pg_config's path: -

+

-
+
 -D POSTGRES_CONFIG=/usr/local/pgsql/bin/pg_config \
-
+
-

+

To build a local copy of the API docs (see API documentation section above): -

+

-
+
 -D WITH_APIDOC=TRUE \
-
+
-

-Snow Leopard note: To handle 32-bit Qt (Carbon), create a 32bit python wrapper +

+Snow Leopard note: To handle 32-bit Qt (Carbon), create a 32bit python wrapper script and add arch flags to the configuration: -

+

-
+
 sudo cat >/usr/local/bin/python32 <<EOF
 #!/bin/sh
 exec arch -i386 /usr/bin/python2.6 \${1+"\$@"}
@@ -2638,131 +2807,135 @@ cmake -D CMAKE_INSTALL_PREFIX=~/Applications \
 -D BISON_EXECUTABLE=/usr/local/bin/bison \
 -D CMAKE_OSX_ARCHITECTURES=i386 -D PYTHON_EXECUTABLE=/usr/local/bin/python32 \
 ..
-
+
-

-Mapserver note: The QGIS Mapserver feature requires fastcgi support. This is included in +

+Mapserver note: The QGIS Mapserver feature requires fastcgi support. This is included in Leopard and Snow Leopard, but was dropped at Lion. To build the Mapserver component on Leopard and Snow, add the following line before the last line in the above configuration: -

+

-
+
 -D WITH_SERVER=TRUE \
-
+
-

+

On Lion you are on your own to figure out how to install libfcgi and add fcgi support to the system Apache. Not recommended for the average user. -

-

-Globe plugin note: If you want the Globe plugin (and you compiled and installed OSG/osgEarth), +

+

+Globe plugin note: If you want the Globe plugin (and you compiled and installed OSG/osgEarth), add the following lines before the last line in the above configuration: -

+

-
+
 -D WITH_GLOBE=true \
 -D OSGEARTH_INCLUDE_DIR="/Library/Application Support/OpenSceneGraph/Headers" \
 -D OSG_PLUGINS_PATH="/Library/Application Support/OpenSceneGraph/PlugIns" \
-
+
-

-Bundling note: Older Qt versions may have problems with some Qt plugins and +

+Bundling note: Older Qt versions may have problems with some Qt plugins and QGIS. The way to handle this is to bundle Qt inside the QGIS application. The default is to bundle Qt (and osg/osgEarth, if configured). -

-

+

+

Even better for distribution purposes, to also bundle any extra non-framework, non-standard, libs (ie postgres' libpq) set the bundle value to 2: -

+

-
+
 -D QGIS_MACAPP_BUNDLE=2 \
-
+
- -

5.8. Building

+
+
+

5.8. Building

-

+

Now we can start the build process (remember the parallel compilation note at the beginning, this is a good place to use it, if you can): -

+

-
+
 make -j [#cpus]
-
+
-

+

If all built without errors you can then install it: -

+

-
+
 make install
-
+
-

+

or, for an /Applications build: -

+

-
+
 sudo make install
-
+
- -

5.9. Post-Install

+
+
+

5.9. Post-Install

-

+

A couple things to take care of. -

-

-gpsbabel -

-

-For QGIS to easily find gpsbabel, you need to copy the gpsbabel executable +

+

+gpsbabel +

+

+For QGIS to easily find gpsbabel, you need to copy the gpsbabel executable to the QGIS application. Assuming you installed QGIS in your home folder: -

+

-
+
 cp -fp /Applications/GPSBabelFE.app/Contents/MacOS/gpsbabel ~/QGIS.app/Contents/MacOS/bin/
-
+
-

+

If you installed in /Applications, adjust the path accordingly and prefix the whole command with 'sudo '. -

-

-QGIS Server -

-

+

+

+QGIS Server +

+

See the QGIS Server documentation page at: -

-

-http://docs.qgis.org/2.18/en/docs/user_manual/working_with_ogc/ogc_server_support.html -

-

+

+

+http://docs.qgis.org/2.18/en/docs/user_manual/working_with_ogc/ogc_server_support.html +

+

for instructions on setting up Apache fastcgi and testing qgis server, including installing the mod-fastcgi that is missing on Lion. -

+

- -

6. Setting up the WCS test server on GNU/Linux

+
+
+
+

6. Setting up the WCS test server on GNU/Linux

-

-Requires: Ubuntu / Debian derived distro -

-

+

+Requires: Ubuntu / Debian derived distro +

+

These notes are for Ubuntu - other versions and Debian derived distros may require slight variations in package names. -

+

- -

6.1. Preparation

+
+

6.1. Preparation

-

+

Note the git repo below will change to the default QGIS repo once this work is integrated into master. -

-

+

+

git remote add blazek git://github.com/blazek/Quantum-GIS.git git fetch blazek git branch --track wcs2 blazek/wcs2 @@ -2773,49 +2946,50 @@ is integrated into master. cd wcs/ mkdir cgi-bin cd cgi-bin/ -

+

- -

6.2. Setup mapserver

+
+
+

6.2. Setup mapserver

-

-`sudo apt-get install cgi-mapserver` -

-

+

+`sudo apt-get install cgi-mapserver` +

+

Set the contents of cgi-bin/wcstest-1.9.0 to: -

+

-
+
   #! /bin/sh
   MS_MAPFILE=/var/www/wcs/testdata/qgis-1.9.0/raster/wcs.map
   export MS_MAPFILE
   /usr/lib/cgi-bin/mapserv
-
+
-

+

Then do: -

+

-
+
   chmod +x cgi-bin/wcstest-1.9.0
   mkdir -p /var/www/wcs/testdata/qgis-1.9.0/raster/
   cd /var/www/wcs/testdata/qgis-1.9.0/raster/
   cp -r /home/timlinux/QGIS/tests/testdata/raster/* .
-
+
-

+

Edit wcs.map and set the shapepath to this: -

+

-
+
   SHAPEPATH "/var/www/wcs/testdata/qgis-1.9.0/raster"
-
+
-

+

Then create /var/www/wcs/7-wcs.qgis.org.conf setting the contents to this: -

+

-
+
   <VirtualHost *:80>
   ServerName wcs.qgis.org
   ServerAdmin tim@linfiniti.com
@@ -2839,30 +3013,32 @@ Then create /var/www/wcs/7-wcs.qgis.org.conf setting the contents to this:
   RewriteRule /1.9.0/wcs /cgi-bin/wcstest-1.9.0 [PT]
 
   </VirtualHost>
-
+
- -

6.3. Create a home page

+
+
+

6.3. Create a home page

-
+
   mkdir html
   vim html/index.html
-
+
-

+

Set the contents to: -

+

-
+
   This is the test platform for QGIS' wcs client. You can use these services
   from QGIS directly (to try out WCS for example) by pointing your QGIS to:
   http://wcs.qgis.org/1.9.0/wcs
-
+
- -

6.4. Now deploy it

+
+
+

6.4. Now deploy it

-
+
   sudo mkdir /var/log/apache2/wcs_qgis.org
   sudo chown www-data /var/log/apache2/wcs_qgis.org
   cd /etc/apache2/sites-available/
@@ -2870,84 +3046,125 @@ Set the contents to:
   cd /var/www/wcs/
   sudo a2ensite 7-wcs.qgis.org.conf
   sudo /etc/init.d/apache2 reload
-
+
- -

6.5. Debugging

+
+
+

6.5. Debugging

-
+
   sudo tail -f /var/log/apache2/wcs_qgis.org/error.log
-
+
- -

7. Setting up a Jenkins Build Server

+
+
+
+

7. Setting up a Jenkins Build Server

-

-Assumption: You know how to make a working build environment and want to +

+Assumption: You know how to make a working build environment and want to deploy it under Jenkins for continuous integration testing now. -

-

+

+

These notes are terse, I will expand on them later as the need arises. The procedure is: -

+

- - -

8. Debug output and running tests

+
+
+

8. Debug output and running tests

-

+

If you are interested in seeing embedded debug output, change the following CMake option: -

+

-
+
 -D CMAKE_BUILD_TYPE=DEBUG (or RELWITHDEBINFO)
-
+
-

+

This will flood your terminal or system log with lots of useful output from QgsDebugMsg() calls in source code. -

-

+

+

If you would like to run the test suite, you will need to do so from the build directory, as it will not work with the installed/bundled app. First set the CMake option to enable tests: -

+

-
+
 -D ENABLE_TESTS=TRUE
-
+
-

+

Then run all tests from build directory: -

+

-
+
 cd build
 make test
-
+
-

-To run all tests and report to http://cdash.orfeo-toolbox.org/index.php?project=QGIS -

+

+To run all tests and report to http://cdash.orfeo-toolbox.org/index.php?project=QGIS +

-
+
 cd build
 make Experimental
-
+
-

+

You can define the host name reported via 'make Experimental' by setting a CMake option: -

+

-
+
 -D SITE="my.domain.org"
-
+
-

+

To run specific test(s) (see 'man ctest'): -

+

-
+
 cd build
 # show listing of tests, without running them
 ctest --show-only
 
 # run specific C++ or Python test(s) matching a regular expression
 ctest --verbose --tests-regex SomeTestName
-
+
- -

9. Authors and Acknowledgments

+
+
+

9. Authors and Acknowledgments

-

+

The following people have contributed to this document: -

+

- + - - +
+ + - +
diff --git a/doc/INSTALL.t2t b/doc/INSTALL.t2t index 4b25ac3fcf2..248683c3689 100644 --- a/doc/INSTALL.t2t +++ b/doc/INSTALL.t2t @@ -4,7 +4,7 @@ Building QGIS from source - step by step %! target : html %! style : style.css -%! Options : --toc --toc-level 2 --enum-title --css-sugar --css-inside +%! Options : --toc --toc-level 2 --enum-title %! preproc : TUT_URL https://qgis.org %! PostProc(html): '(?i)(
)' '
\1' %! PostProc(html): '(?i)(
)' '\1' diff --git a/doc/news.html b/doc/news.html index 58c9a7dcf14..052874a98d4 100644 --- a/doc/news.html +++ b/doc/news.html @@ -1,1196 +1,2020 @@ - - - - - -QGIS News + + + + +QGIS News + + + + + +
+
+

QGIS News

+

Change history for the QGIS Project

+

Thursday December 26, 2019

+
+
+
- - +
+

1. What's new in Version 3.4-LTR 'Madeira'?

- - - - - - -
-

-Last Updated: Thursday November 01, 2018 -Last Change : Thursday November 01, 2018 -

- - -

1. What's new in Version 3.4-LTR 'Madeira'?

- -

+

This release has following new features: -

+

-
    -
  • Expressions: New expression functions and variables -
  • Expressions: Code completion for expression builder -
  • User Interface: Auto selection of exported files in file manager -
  • User Interface: New "Open Directory" option for disabled welcome page projects -
  • User Interface: UX Improvements for Temporary Scratch Layers -
  • User Interface: Task manager improvements -
  • User Interface: Hyperlinks to local vector & raster datasets in the information panel -
  • User Interface: Style manager improvements -
  • User Interface: Polished browser panel interface and experience -
  • User Interface: QML chart and drawings widget -
  • Symbology: Mesh layer styling -
  • Symbology: Classify symmetric in graduated renderer -
  • Digitising: GPS tracking improvements -
  • Digitising: More angle choices in advanced digitizing dock -
  • Digitising: Vertex tool can work on the current layer only -
  • Digitising: Add reverse line maptools -
  • Digitising: Geometry Precision -
  • Digitising: Automatically remove duplicate nodes -
  • Digitising: Check for geometry validity -
  • Digitising: Topology checks while editing -
  • Data Management: Translation of QGIS projects -
  • Data Management: Switch Attribute Table dock mode on demand -
  • Data Management: New locator filter to search across all layers -
  • Data Management: Non-removable (required) layers highlighted in layer tree -
  • Data Management: Append raster layer to an existing Geopackage -
  • Map Composer: 3d map items -
  • Processing: Edit in place -
  • Processing: Store models inside project -
  • Processing: Sample Raster Values -
  • Processing: New 'Raster pixels to polygons' algorithm -
  • Processing: K Means clustering algorithm -
  • Processing: dbscan spatial clustering algorithm -
  • Processing: Improved algorithms -
  • Processing: Filter Vertices by M and Filter Vertices by Z algorithms -
  • Processing: "Array of Translated Features" algorithm -
  • Processing: "Array of offset (parallel) lines" algorithm -
  • Processing: Choice of units for non degree/unknown distances -
  • Processing: "Drape features to z/m" algorithms -
  • Processing: "Raster pixels to points" algorithm -
  • Processing: Line substring algorithm -
  • Processing: "Interpolate point on line" algorithm -
  • Processing: k-neighbour concave hull -
  • Processing: Python scripts which implement algorithms now execute the algorithm on drag and drop and browser double click -
  • Processing: New GDAL's rearrange band algorithm -
  • Processing: "Precalculated" values for model algorithm parameters -
  • Processing: "Categorize a layer using a style XML file" algorithm -
  • General: Flatpak -
  • General: SVG files can be embedded in projects and symbols -
  • General: OpenCL based acceleration -
  • Data Providers: OAuth2 authentication method plugin -
  • Data Providers: Mesh layer: New mesh layer format support -
  • Data Providers: Mesh layer: add function to identify value on mesh layers -
  • Data Providers: Mesh layer: allow to choose different vector and scalar dataset -
  • Data Providers: Mesh layer: allow render vectors/arrows on the user-defined grid -
  • Data Providers: JSON/JSONB Type support -
  • Data Providers: ESRI Token Authentication support -
  • Data Providers: SQL Server - Invalid geometry handling -
  • QGIS Server: Server Cache can be manage by plugins -
  • QGIS Server: WMTS 1.0.0 support -
  • QGIS Server: Add ability to define min. scale for WMTS -
  • QGIS Server: Support QGIS Server logs to stderr -
  • Plugins: Support for encrypted zips in the Plugin Manager -
  • Plugins: Offline Editing GeoPackage -
  • Programmability: QgsSpatialIndexKDBush -
  • Programmability: QgsRasterDataProvider::sample method for efficient sampling of rasters at a given point -
  • Programmability: New geometry API call to return a curve substring -
  • Programmability: sip Module API Changes -
  • 3D Features: Improved navigation -
  • 3D Features: Animation -
  • 3D Features: Simple rendering of 3D linestrings -
  • 3D Features: Identification map tool for 3D views -
+
    +
  • Expressions: New expression functions and variables +
  • +
  • Expressions: Code completion for expression builder +
  • +
  • User Interface: Auto selection of exported files in file manager +
  • +
  • User Interface: New "Open Directory" option for disabled welcome page projects +
  • +
  • User Interface: UX Improvements for Temporary Scratch Layers +
  • +
  • User Interface: Task manager improvements +
  • +
  • User Interface: Hyperlinks to local vector & raster datasets in the information panel +
  • +
  • User Interface: Style manager improvements +
  • +
  • User Interface: Polished browser panel interface and experience +
  • +
  • User Interface: QML chart and drawings widget +
  • +
  • Symbology: Mesh layer styling +
  • +
  • Symbology: Classify symmetric in graduated renderer +
  • +
  • Digitising: GPS tracking improvements +
  • +
  • Digitising: More angle choices in advanced digitizing dock +
  • +
  • Digitising: Vertex tool can work on the current layer only +
  • +
  • Digitising: Add reverse line maptools +
  • +
  • Digitising: Geometry Precision +
  • +
  • Digitising: Automatically remove duplicate nodes +
  • +
  • Digitising: Check for geometry validity +
  • +
  • Digitising: Topology checks while editing +
  • +
  • Data Management: Translation of QGIS projects +
  • +
  • Data Management: Switch Attribute Table dock mode on demand +
  • +
  • Data Management: New locator filter to search across all layers +
  • +
  • Data Management: Non-removable (required) layers highlighted in layer tree +
  • +
  • Data Management: Append raster layer to an existing Geopackage +
  • +
  • Map Composer: 3d map items +
  • +
  • Processing: Edit in place +
  • +
  • Processing: Store models inside project +
  • +
  • Processing: Sample Raster Values +
  • +
  • Processing: New 'Raster pixels to polygons' algorithm +
  • +
  • Processing: K Means clustering algorithm +
  • +
  • Processing: dbscan spatial clustering algorithm +
  • +
  • Processing: Improved algorithms +
  • +
  • Processing: Filter Vertices by M and Filter Vertices by Z algorithms +
  • +
  • Processing: "Array of Translated Features" algorithm +
  • +
  • Processing: "Array of offset (parallel) lines" algorithm +
  • +
  • Processing: Choice of units for non degree/unknown distances +
  • +
  • Processing: "Drape features to z/m" algorithms +
  • +
  • Processing: "Raster pixels to points" algorithm +
  • +
  • Processing: Line substring algorithm +
  • +
  • Processing: "Interpolate point on line" algorithm +
  • +
  • Processing: k-neighbour concave hull +
  • +
  • Processing: Python scripts which implement algorithms now execute the algorithm on drag and drop and browser double click +
  • +
  • Processing: New GDAL's rearrange band algorithm +
  • +
  • Processing: "Precalculated" values for model algorithm parameters +
  • +
  • Processing: "Categorize a layer using a style XML file" algorithm +
  • +
  • General: Flatpak +
  • +
  • General: SVG files can be embedded in projects and symbols +
  • +
  • General: OpenCL based acceleration +
  • +
  • Data Providers: OAuth2 authentication method plugin +
  • +
  • Data Providers: Mesh layer: New mesh layer format support +
  • +
  • Data Providers: Mesh layer: add function to identify value on mesh layers +
  • +
  • Data Providers: Mesh layer: allow to choose different vector and scalar dataset +
  • +
  • Data Providers: Mesh layer: allow render vectors/arrows on the user-defined grid +
  • +
  • Data Providers: JSON/JSONB Type support +
  • +
  • Data Providers: ESRI Token Authentication support +
  • +
  • Data Providers: SQL Server - Invalid geometry handling +
  • +
  • QGIS Server: Server Cache can be manage by plugins +
  • +
  • QGIS Server: WMTS 1.0.0 support +
  • +
  • QGIS Server: Add ability to define min. scale for WMTS +
  • +
  • QGIS Server: Support QGIS Server logs to stderr +
  • +
  • Plugins: Support for encrypted zips in the Plugin Manager +
  • +
  • Plugins: Offline Editing GeoPackage +
  • +
  • Programmability: QgsSpatialIndexKDBush +
  • +
  • Programmability: QgsRasterDataProvider::sample method for efficient sampling of rasters at a given point +
  • +
  • Programmability: New geometry API call to return a curve substring +
  • +
  • Programmability: sip Module API Changes +
  • +
  • 3D Features: Improved navigation +
  • +
  • 3D Features: Animation +
  • +
  • 3D Features: Simple rendering of 3D linestrings +
  • +
  • 3D Features: Identification map tool for 3D views +
  • +
- -

2. What's new in Version 3.2 'Bonn'?

+
+
+

2. What's new in Version 3.2 'Bonn'?

-

+

This release has following new features: -

+

- + - -

3. What's new in Version 3.0 'Girona'?

+
+
+

3. What's new in Version 3.0 'Girona'?

-

+

This release has following new features: -

+

- + - -

4. What's new in Version 2.18 'Las Palmas'?

+
+
+

4. What's new in Version 2.18 'Las Palmas'?

-

+

This release has following new features: -

+

- + - -

5. What's new in Version 2.16 'Nødebo'?

+
+
+

5. What's new in Version 2.16 'Nødebo'?

-

+

This release has following new features: -

+

- + - -

6. What's new in Version 2.14 'Essen'?

+
+
+

6. What's new in Version 2.14 'Essen'?

-

+

This release has following new features: -

+

- + - -

7. What's new in Version 2.12 'Lyon'?

+
+
+

7. What's new in Version 2.12 'Lyon'?

-

+

This release has following new features: -

+

- + - -

8. What's new in Version 2.10 'Pisa'?

+
+
+

8. What's new in Version 2.10 'Pisa'?

-

+

This is a minor release increment with the following new features: -

+

- + - -

9. What's new in Version 2.8 'Wien'?

+
+
+

9. What's new in Version 2.8 'Wien'?

-

+

This is a minor release increment with the following feature: -

+

- - -

10. What's new in Version 2.6.0 'Brighton'?

+
+
+

10. What's new in Version 2.6.0 'Brighton'?

-

+

This is a minor release increment with the following new features: -

+

- + - -

11. What's new in Version 2.4.0 'Chugiak'?

+
+
+

11. What's new in Version 2.4.0 'Chugiak'?

-

+

This is the minor release sports a number of great new features: -

+

- + - -

12. Whats new in Version 2.2.0 'Valmiera'?

+
+
+

12. Whats new in Version 2.2.0 'Valmiera'?

-

+

This is the minor release sports a number of great new features: -

+

- - -

13. Whats new in Version 2.0.1 'Dufour'?

+
+
+

13. Whats new in Version 2.0.1 'Dufour'?

-

+

This is a small bugfix release to address the missing copyright / credits for our new splash screen and to update supporting documentation. The spanish translation was also updated. -

+

- -

14. Whats new in Version 2.0.0 'Dufour'?

+
+
+

14. Whats new in Version 2.0.0 'Dufour'?

-

+

This is a new major release. Building on the foundation of QGIS 1.x.x releases, QGIS Dufour introduces many new features, improvements and bug fixes. Here is a summary of some of the key new features. -

+

- - -

15. Whats new in Version 1.8.0 'Lisboa'?

+
+
+

15. Whats new in Version 1.8.0 'Lisboa'?

-

+

This is a new feature release. Building on the foundation of QGIS 1.7.x releases, Lisboa introduces many new features, improvements and bug fixes. Here is a summary of some of the key new features. -

+

- - -

16. Whats new in Version 1.7.2 'Wroclaw'?

+
+
+

16. Whats new in Version 1.7.2 'Wroclaw'?

-

+

This is a bugfix release over version 1.7.1. The following changes were made. -

+

- + - -

17. Whats new in Version 1.7.1 'Wroclaw'?

+
+
+

17. Whats new in Version 1.7.1 'Wroclaw'?

-

+

This is a bugfix release over version 1.7.0. The following changes were made. -

+

- + - -

18. Whats new in Version 1.7.0 'Wroclaw'?

+
+
+

18. Whats new in Version 1.7.0 'Wroclaw'?

-

+

This release is named after the town of Wroclaw in Poland. The Department of Climatology and Atmosphere Protection, University of Wroclaw kindly hosted our developer meeting in November 2010. Please note that this is a release in @@ -1199,374 +2023,559 @@ the programmatic interface over QGIS 1.0.x and QGIS 1.6.0. As with any software, there may be bugs and issues that we were not able to fix in time for the release. We therefore recommend that you test this version before rolling it out en-masse to your users. -

-

+

+

This release includes over 277 bug fixes and many new features and enhancements. Once again it is impossible to document everything here that has changed so we will just provide a bullet list of key new features here. -

+

-

18.1. Symbology labels and diagrams

+
+

18.1. Symbology labels and diagrams

-
    -
  • New symbology now used by default! -
  • Diagram system that uses the same smart placement system as labeling-ng -
  • Export and import of styles (symbology). -
  • Labels for rules in rule-based renderers. -
  • Ability to set label distance in map units. -
  • Rotation for svg fills. -
  • Font marker can have an X,Y offset. -
  • Allow the line symbol layers to be used for outline of polygon (fill) symbols. -
  • Option to put marker on the central point of a line. -
  • Option to put marker only on first/last vertex of a line. -
  • Added "centroid fill" symbol layer which draws a marker on polygon's centroid. -
  • Allow the marker line symbol layer to draw markers on each vertex. -
  • Move/rotate/change label edit tools to interactively change data defined label properties. -
+
    +
  • New symbology now used by default! +
  • +
  • Diagram system that uses the same smart placement system as labeling-ng +
  • +
  • Export and import of styles (symbology). +
  • +
  • Labels for rules in rule-based renderers. +
  • +
  • Ability to set label distance in map units. +
  • +
  • Rotation for svg fills. +
  • +
  • Font marker can have an X,Y offset. +
  • +
  • Allow the line symbol layers to be used for outline of polygon (fill) symbols. +
  • +
  • Option to put marker on the central point of a line. +
  • +
  • Option to put marker only on first/last vertex of a line. +
  • +
  • Added "centroid fill" symbol layer which draws a marker on polygon's centroid. +
  • +
  • Allow the marker line symbol layer to draw markers on each vertex. +
  • +
  • Move/rotate/change label edit tools to interactively change data defined label properties. +
  • +
-

18.2. New Tools

+
+
+

18.2. New Tools

-
    -
  • Added GUI for gdaldem. -
  • Added 'Lines to polygons' tool to vector menu. -
  • Added field calculator with functions like $x, $y and $perimeter. -
  • Added voronoi polygon tool to Vector menu. -
+
    +
  • Added GUI for gdaldem. +
  • +
  • Added 'Lines to polygons' tool to vector menu. +
  • +
  • Added field calculator with functions like $x, $y and $perimeter. +
  • +
  • Added voronoi polygon tool to Vector menu. +
  • +
-

18.3. User interface updates

+
+
+

18.3. User interface updates

-
    -
  • Allow managing missing layers in a list. -
  • Zoom to group of layers. -
  • 'Tip of the day' on startup. You can en/disable tips in the options panel. -
  • Better organisation of menus, separate database menu added. -
  • Add ability to show number of features in legend classes. Accessible via right-click legend menu. -
  • General clean-ups and usability improvements. -
+
    +
  • Allow managing missing layers in a list. +
  • +
  • Zoom to group of layers. +
  • +
  • 'Tip of the day' on startup. You can en/disable tips in the options panel. +
  • +
  • Better organisation of menus, separate database menu added. +
  • +
  • Add ability to show number of features in legend classes. Accessible via right-click legend menu. +
  • +
  • General clean-ups and usability improvements. +
  • +
-

18.4. CRS Handling

+
+
+

18.4. CRS Handling

-
    -
  • Show active crs in status bar. -
  • Assign layer CRS to project (in the legend context menu). -
  • Select default CRS for new projects. -
  • Allow setting CRS for multiple layers at once. -
  • Default to last selection when prompting for CRS. -
+
    +
  • Show active crs in status bar. +
  • +
  • Assign layer CRS to project (in the legend context menu). +
  • +
  • Select default CRS for new projects. +
  • +
  • Allow setting CRS for multiple layers at once. +
  • +
  • Default to last selection when prompting for CRS. +
  • +
-

18.5. Rasters

+
+
+

18.5. Rasters

-
    -
  • Added AND and OR operator for raster calculator -
  • On-the-fly reprojection of rasters added! -
  • Proper implementation of raster providers. -
  • Added raster toolbar with histogram stretch functions. -
+
    +
  • Added AND and OR operator for raster calculator +
  • +
  • On-the-fly reprojection of rasters added! +
  • +
  • Proper implementation of raster providers. +
  • +
  • Added raster toolbar with histogram stretch functions. +
  • +
-

18.6. Providers and Data Handling

+
+
+

18.6. Providers and Data Handling

-
    -
  • New SQLAnywhere vector provider. -
  • Table join support. -
  • Feature form updates: -
      -
    • Make NULL value string representation configurable. -
    • Fix feature updates in feature form from attribute table. -
    • Add support for NULL values in value maps (comboboxes). -
    • Use layer names instead of ids in drop-down list when loading value maps from layers. -
    • Support feature form expression fields: line edits on the form which +
        +
      • New SQLAnywhere vector provider. +
      • +
      • Table join support. +
      • +
      • Feature form updates: +
          +
        • Make NULL value string representation configurable. +
        • +
        • Fix feature updates in feature form from attribute table. +
        • +
        • Add support for NULL values in value maps (comboboxes). +
        • +
        • Use layer names instead of ids in drop-down list when loading value maps from layers. +
        • +
        • Support feature form expression fields: line edits on the form which name prefix "expr_" are evaluated. Their value is interpreted as field calculator string and replaced with the calculated value. -
        -
      • Support searching for NULL in attribute table. -
      • Attribute editing improvements: -

        -
          -
        • Improved interactive attribute editing in table (adding/deleting features, attribute update). -
        • Allow adding of geometryless features. -
        • Fixed attribute undo/redo. -
        -
      • Improved attribute handling: -

        -
          -
        • Optionally re-use entered attribute values for next digitized feature. -
        • Allow merging/assigning attribute values to a set of features.- -
        • Allow OGR 'save as' without attributes (e.g., DGN/DXF). -
        -
      +
    • +
    +
  • +
  • Support searching for NULL in attribute table. +
  • +
  • Attribute editing improvements: +

    +
      +
    • Improved interactive attribute editing in table (adding/deleting features, attribute update). +
    • +
    • Allow adding of geometryless features. +
    • +
    • Fixed attribute undo/redo. +
    • +
    +
  • +
  • Improved attribute handling: +

    +
      +
    • Optionally re-use entered attribute values for next digitized feature. +
    • +
    • Allow merging/assigning attribute values to a set of features.- +
    • +
    • Allow OGR 'save as' without attributes (e.g., DGN/DXF). +
    • +
    +
  • +
-

18.7. Api and Developer Centric

+
+
+

18.7. Api and Developer Centric

-
    -
  • Refactored attribute dialog calls to QgsFeatureAttribute. -
  • Added QgsVectorLayer::featureAdded signal. -
  • Layer menu function added. -
  • Added option to load c++ plugins from user specified directories. Requires application restart to activate. -
  • Completely new geometry checking tool for fTools. Significantly faster, +
      +
    • Refactored attribute dialog calls to QgsFeatureAttribute. +
    • +
    • Added QgsVectorLayer::featureAdded signal. +
    • +
    • Layer menu function added. +
    • +
    • Added option to load c++ plugins from user specified directories. Requires application restart to activate. +
    • +
    • Completely new geometry checking tool for fTools. Significantly faster, more relevant error messages, and now supports zooming to errors. See the new QgsGeometry.validateGeometry function -
    +
  • +
-

18.8. QGIS Mapserver

+
+
+

18.8. QGIS Mapserver

-
    -
  • Ability to specify wms service capabilities in the properties +
      +
    • Ability to specify wms service capabilities in the properties section of the project file (instead of wms_metadata.xml file). -
    • Support for wms printing with GetPrint-Request. -
    +
  • +
  • Support for wms printing with GetPrint-Request. +
  • +
-

18.9. Plugins

+
+
+

18.9. Plugins

-
    -
  • Support for icons of plugins in the plugin manager dialog. -
  • Removed quickprint plugin - use easyprint plugin rather from plugin repo. -
  • Removed ogr converter plugin - use 'save as' context menu rather. -
+
    +
  • Support for icons of plugins in the plugin manager dialog. +
  • +
  • Removed quickprint plugin - use easyprint plugin rather from plugin repo. +
  • +
  • Removed ogr converter plugin - use 'save as' context menu rather. +
  • +
-

18.10. Printing

+
+
+

18.10. Printing

-
    -
  • Undo/Redo support for the print composer -
+
    +
  • Undo/Redo support for the print composer +
  • +
- -

19. Whats new in Version 1.6.0 'Capiapo'?

+
+
+
+

19. Whats new in Version 1.6.0 'Capiapo'?

-

+

Please note that this is a release in our 'cutting edge' release series. As such it contains new features and extends the programmatic interface over QGIS 1.0.x and QGIS 1.5.0. We recommend that you use this version over previous releases. -

-

+

+

This release includes over 177 bug fixes and many new features and enhancements. Once again it is impossible to document everything here that has changed so we will just provide a bullet list of key new features here. -

+

-

19.1. General Improvements

+
+

19.1. General Improvements

-
    -
  • Added gpsd support to live gps tracking. -
  • A new plugin has been included that allows for offline editing. -
  • Field calculator will now insert NULL feature value in case of calculation +
      +
    • Added gpsd support to live gps tracking. +
    • +
    • A new plugin has been included that allows for offline editing. +
    • +
    • Field calculator will now insert NULL feature value in case of calculation error instead of stopping and reverting calculation for all features. -
    • Allow user specific PROJ.4 search paths and update srs.db to include grid reference. -
    • Added a native (C++) raster calculator implementation which can deal with large rasters efficiently. -
    • Improved interaction with extents widget in statusbar so that the text +
    • +
    • Allow user specific PROJ.4 search paths and update srs.db to include grid reference. +
    • +
    • Added a native (C++) raster calculator implementation which can deal with large rasters efficiently. +
    • +
    • Improved interaction with extents widget in statusbar so that the text contents of the widget can be copied and pasted. -
    • Many improvements and new operators to the vector attribute table field +
    • +
    • Many improvements and new operators to the vector attribute table field calculator including field concatenation, row counter etc. -
    • Added --configpath option that overrides the default path (~/.qgis) for +
    • +
    • Added --configpath option that overrides the default path (~/.qgis) for user configuration and forces QSettings to use this directory, too. This allows users to e.g. carry QGIS installation on a flash drive together with all plugins and settings. -
    • Experimental WFS-T support. Additionally ported wfs to network manager. -
    • Georeferencer has had many tidy ups and improvements. -
    • Support for long int in attribute dialog and editor. -
    • The QGIS Mapserver project has been incorporated into the main SVN +
    • +
    • Experimental WFS-T support. Additionally ported wfs to network manager. +
    • +
    • Georeferencer has had many tidy ups and improvements. +
    • +
    • Support for long int in attribute dialog and editor. +
    • +
    • The QGIS Mapserver project has been incorporated into the main SVN repository and packages are being made available. QGIS Mapserver allows you to serve your QGIS project files via the OGC WMS protocol. -Read More... -
    • Select and measure toolbar flyouts and submenus. -
    • Support has been added for non-spatial tables (currently OGR, delimited +Read More... +
    • +
    • Select and measure toolbar flyouts and submenus. +
    • +
    • Support has been added for non-spatial tables (currently OGR, delimited text and PostgreSQL providers). These tables can be used for field lookups or just generally browsed and edited using the table view. -
    • Added search string support for feature ids ($id) and various other search related improvements. -
    • Added reload method to map layers and provider interface. Like this, +
    • +
    • Added search string support for feature ids ($id) and various other search related improvements. +
    • +
    • Added reload method to map layers and provider interface. Like this, caching providers (currently WMS and WFS) can synchronize with changes in the datasource. -
    +
  • +
-

19.2. Table of contents (TOC) improvements

+
+
+

19.2. Table of contents (TOC) improvements

-
    -
  • Added a new option to the raster legend menu that will stretch the current +
      +
    • Added a new option to the raster legend menu that will stretch the current layer using the min and max pixel values of the current extent. -
    • When writing shape files using the table of contents context menu's 'Save +
    • +
    • When writing shape files using the table of contents context menu's 'Save as' option, you can now specify OGR creation options. -
    • In the table of contents, it is now possible to select and remove several layers at once. -
    +
  • +
  • In the table of contents, it is now possible to select and remove several layers at once. +
  • +
-

19.3. Labeling (New generation only)

+
+
+

19.3. Labeling (New generation only)

-
    -
  • Data defined label position in labeling-ng. -
  • Line wrapping, data defined font and buffer settings for labeling-ng. -
+
    +
  • Data defined label position in labeling-ng. +
  • +
  • Line wrapping, data defined font and buffer settings for labeling-ng. +
  • +
-

19.4. Layer properties and symbology

+
+
+

19.4. Layer properties and symbology

-
    -
  • Three new classification modes added to graduated symbol renderer (version +
      +
    • Three new classification modes added to graduated symbol renderer (version 2), including Natural Breaks (Jenks), Standard Deviations, and Pretty Breaks (based on pretty from the R statistical environment). [Read more... -http://linfiniti.com/2010/09/new-class-breaks-for-graduated-symbols-in-qgis/] -
    • Improved loading speed of the symbol properties dialog. -
    • Data-defined rotation and size for categorized and graduated renderer (symbology). -
    • Use size scale also for line symbols to modify line width. -
    • Replaced raster histogram implementation with one based on Qwt. Added +http://linfiniti.com/2010/09/new-class-breaks-for-graduated-symbols-in-qgis/] +
    • +
    • Improved loading speed of the symbol properties dialog. +
    • +
    • Data-defined rotation and size for categorized and graduated renderer (symbology). +
    • +
    • Use size scale also for line symbols to modify line width. +
    • +
    • Replaced raster histogram implementation with one based on Qwt. Added option to save histogram as image file. Show actual pixel values on x axis of raster histogram. -
    • Added ability to interactively select pixels from the canvas to populate +
    • +
    • Added ability to interactively select pixels from the canvas to populate the transparency table in the raster layer properties dialog. -
    • Allow creation of color ramps in vector color ramp combo box. -
    • Added "style manager..." button to symbol selector so that users will find +
    • +
    • Allow creation of color ramps in vector color ramp combo box. +
    • +
    • Added "style manager..." button to symbol selector so that users will find the style manager more easily. -
    +
  • +
-

19.5. Map Composer

+
+
+

19.5. Map Composer

-
    -
  • add capability to show and manipulate composer item width/ height in item +
      +
    • add capability to show and manipulate composer item width/ height in item position dialog. -
    • Composer items can now be deleted with the backspace key. -
    • Sorting for composer attribute table (several columns and ascending / descending). -
    +
  • +
  • Composer items can now be deleted with the backspace key. +
  • +
  • Sorting for composer attribute table (several columns and ascending / descending). +
  • +
- -

20. Whats new in Version 1.5.0?

+
+
+
+

20. Whats new in Version 1.5.0?

-

+

Please note that this is a release in our 'cutting edge' release series. As such it contains new features and extends the programmatic interface over QGIS 1.0.x and QGIS 1.4.0. If an unchanging user interface, programmatic API and long term support is more important to you then cool new and untested features, we recommend that you use a copy of QGIS from our Long Term Support (LTS)1.0.x release series. In all other cases we recommend that you use this version. -

-

+

+

This release includes over 350 bug fixes, over 40 new features. Once again it is impossible to document everything here that has changed so we will just provide a bullet list of key new features here. -

+

-

20.1. Main GUI

+
+

20.1. Main GUI

-
    -
  • There is a new angle measuring tool that allows you to interactively +
      +
    • There is a new angle measuring tool that allows you to interactively measure angles against the map backdrop. -
    • Live GPS Tracking tool -
    • User configurable WMS search server -
    • Allow editing of invalid geometry in node tool -
    • Choice between mm and map units for new symbology. Scaling to use new +
    • +
    • Live GPS Tracking tool +
    • +
    • User configurable WMS search server +
    • +
    • Allow editing of invalid geometry in node tool +
    • +
    • Choice between mm and map units for new symbology. Scaling to use new symbology in print composer as well -
    • SVG fill symbol layer for polygon textures -
    • Font marker symbol layer -
    • Added --noplugins command line options to avoid restoring the plugins. +
    • +
    • SVG fill symbol layer for polygon textures +
    • +
    • Font marker symbol layer +
    • +
    • Added --noplugins command line options to avoid restoring the plugins. Useful when a plugin misbehaves and causes QGIS to crash during startup -
    • Allow hiding of deprecated CRSes -
    • Add point displacement renderer plugin - allows points to be shifted to +
    • +
    • Allow hiding of deprecated CRSes +
    • +
    • Add point displacement renderer plugin - allows points to be shifted to avoid colliding with other points -
    • Allow saving vector layers as ogr vector files -
    • Raster provider: reduce debugging noise -
    • Allow adding parts to multi points and lines -
    • Text and form annotation tools are now in gui and app -
    • Added possibility to place a set of default composer templates in +
    • +
    • Allow saving vector layers as ogr vector files +
    • +
    • Raster provider: reduce debugging noise +
    • +
    • Allow adding parts to multi points and lines +
    • +
    • Text and form annotation tools are now in gui and app +
    • +
    • Added possibility to place a set of default composer templates in pkgDataPath/composer_templates -
    • Gradient color ramps now support multiple stops - for adding intermediate +
    • +
    • Gradient color ramps now support multiple stops - for adding intermediate colors -
    • Center map if user clicks into the map -
    • New plugin for carrying out spatial selections -
    • Data-defined size and rotation for single symbol renderer in symbology -
    • IdentifyAsHtml to raster layer and use it in identify -
    • Export legend groups and layers with legendinterface and use this +
    • +
    • Center map if user clicks into the map +
    • +
    • New plugin for carrying out spatial selections +
    • +
    • Data-defined size and rotation for single symbol renderer in symbology +
    • +
    • IdentifyAsHtml to raster layer and use it in identify +
    • +
    • Export legend groups and layers with legendinterface and use this information to display groups in the composer legend. -
    • Show selected feature count in status bar -
    • Query option added to layer menu to subset vector layers -
    • Option to label only selected features (on the 'old' labeling tool) -
    • Load/save queries created in the query builder. -
    • Manual adding of categories in symbology. -
    • Georeferencer: possibility to configure if residuals should be showed in +
    • +
    • Show selected feature count in status bar +
    • +
    • Query option added to layer menu to subset vector layers +
    • +
    • Option to label only selected features (on the 'old' labeling tool) +
    • +
    • Load/save queries created in the query builder. +
    • +
    • Manual adding of categories in symbology. +
    • +
    • Georeferencer: possibility to configure if residuals should be showed in pixels or map units -
    • Delimited text provider: allow empty values in numeric columns -
    • Added rule-based renderer for symbology -
    • Ability to create spatial lite databases from within QGIS -
    • Inclusion of GDAL Raster tools plugin into QGIS core -
    • New python console (with history) -
    • Add validation to capture tool -
    • Allow postgres layers without saved username &amp; password by asking for credentials -
    • Support NULL values in search strings -
    • Optionally add new layers to the selected group -
    • Map composer can add attribute Tables in layouts. It is possible to show +
    • +
    • Delimited text provider: allow empty values in numeric columns +
    • +
    • Added rule-based renderer for symbology +
    • +
    • Ability to create spatial lite databases from within QGIS +
    • +
    • Inclusion of GDAL Raster tools plugin into QGIS core +
    • +
    • New python console (with history) +
    • +
    • Add validation to capture tool +
    • +
    • Allow postgres layers without saved username &amp; password by asking for credentials +
    • +
    • Support NULL values in search strings +
    • +
    • Optionally add new layers to the selected group +
    • +
    • Map composer can add attribute Tables in layouts. It is possible to show only visible features in composer table or all features -
    • Identify tool attribute form now non-modal in view mode (since r12796) -
    • Identified features' highlight disappear when window is deactivate or +
    • +
    • Identify tool attribute form now non-modal in view mode (since r12796) +
    • +
    • Identified features' highlight disappear when window is deactivate or closed and reappears when reactivated. -
    +
  • +
-

20.2. WMS and WMS-C Support

+
+
+

20.2. WMS and WMS-C Support

-
    -
  • WMS-C support, new spatial authorities, wms selection improvements -
  • Resolved EPSG dependency in spatial reference systems and included french +
      +
    • WMS-C support, new spatial authorities, wms selection improvements +
    • +
    • Resolved EPSG dependency in spatial reference systems and included french IGNF definitions in srs.db -
    • WWM provider makes requests asynchronously through QNetworkAccessManager now -
    • WMS selection allows inserting of all layers of a branch -
    • WMS has support for more mime types -
    • Added load/save to WMS dialog -
    • WMS-C scale slider gui added and more selection improvements -
    +
  • +
  • WWM provider makes requests asynchronously through QNetworkAccessManager now +
  • +
  • WMS selection allows inserting of all layers of a branch +
  • +
  • WMS has support for more mime types +
  • +
  • Added load/save to WMS dialog +
  • +
  • WMS-C scale slider gui added and more selection improvements +
  • +
-

20.3. API Updates

+
+
+

20.3. API Updates

-
    -
  • QgsDataProvider &amp; QgsMapLayer: add dataChanged() signal, so that a +
      +
    • QgsDataProvider &amp; QgsMapLayer: add dataChanged() signal, so that a provider can signal that the datasource changed -
    • Use QNetworkAccessManager instead of QgsHttpTransaction (including caching +
    • +
    • Use QNetworkAccessManager instead of QgsHttpTransaction (including caching and dynamic authentication to website and proxies) -

      -
    • Allow opening layer properties from plugins -
    • Support for custom plugin layers. -
    • Allow refreshing of plugins programmatically -
    • Support for custom plugin directories using QGIS_PLUGINPATH environment +

      +
    • +
    • Allow opening layer properties from plugins +
    • +
    • Support for custom plugin layers. +
    • +
    • Allow refreshing of plugins programmatically +
    • +
    • Support for custom plugin directories using QGIS_PLUGINPATH environment variables. More paths can be passed, separated by semicolon. -
    • Legend interface added to retrieve layers in legend order -
    • Support more GEOS operators -
    +
  • +
  • Legend interface added to retrieve layers in legend order +
  • +
  • Support more GEOS operators +
  • +
- -

21. Whats new in Version 1.4.0 'Enceladus'?

+
+
+
+

21. Whats new in Version 1.4.0 'Enceladus'?

-

+

Please note that this is a release in our 'cutting edge' release series. As such it contains new features and extends the programmatic interface over QGIS 1.0.x and QGIS 1.3.0. If an unchanging user interface, programmatic API and long term support is more important to you then cool new and untested features, we recommend that you use a copy of QGIS from our Long Term Support (LTS)1.0.x release series. In all other cases we recommend that you use this version. -

-

+

+

This release includes around 200 bug fixes, nearly 30 new features and has had a lot of love and attention poured into it to take our favorite desktop GIS application another step on the road to GIS nirvana! So much has happened in the 3 months since our last release that it is impossible to document everything here. Instead we will just highlight a couple of important new features for you. -

-

+

+

Probably the biggest new feature is the addition of the new vector symbology infrastructure. This is provided alongside the old implementation - you can switch using a button in the vector layer properties dialog. It doesn't replace the old symbology implementation completely yet because there are various isues that need to be resolved and a large amount of testinhen it is considered ready. -

-

+

+

QGIS now has a field calculator, accessible via a button in the attribute section of the vector properties, and from the attribute table user interface. You can use feature length, feature area, string concatenation and type conversions in the field calculator, as well as field values. -

-

+

+

The map composer has had a lot of attention. A grid can now be added to composer maps. Composer maps can now be rotated in the layout. The limitation of a single map layout per project has been removed. A new composer manager dialog has been added to manage the existing composer instances. The composer widget property sheets have been completely overhauled to use less screen space -

-

+

+

Various parts of the user interface have been overhauled with the goal of improving consistency and to improve support for netbooks and other smaller screen devices. Loading and saving of shortcuts. Position can now be displayed @@ -1574,64 +2583,85 @@ as Degrees, Minutes, Seconds in the status bar. The add, move and delete vertex buttons are now removed and the node tool is moved from the advanced editing toolbar to the standard editing toolbar. The identification tool has also undergone numerous improvements. -

-

+

+

A render caching capability has been added to QGIS. This speeds up common operations such as layer re-ordering, changing symbology, WMS / WFS client, hiding / showing layers and opens the door for future enhancements such as threaded rendering and pre-compositing layer cache manipulation. Note that it is disabled by default, and can be enabled in the options dialog. -

-

+

+

User defined SVG search paths are now added to the options dialog. -

-

+

+

When creating a new shapefile, you can now specify its CRS. Also the avoid intersections option for polygons is now also possible with background layers. -

-

+

+

For power users, you can now create customizable attribute forms using Qt Designer dialog UIs. -

+

- -

22. Whats new in Version 1.3.0 'Mimas'?

+
+
+

22. Whats new in Version 1.3.0 'Mimas'?

-

+

This release includes over 30 bug fixes and several useful new features: -

+

-

22.1. OSM plugin &amp; provider updates

+
+

22.1. OSM plugin &amp; provider updates

-
    -
  • new OSM style files. -
  • new icons. -
  • dialog text updated and completed. -
  • "Saving OSM into file" functionality was improvements. -
  • fixed some problems with encoding... ascii to utf-8. -
  • all OSM layers are automatically removed after disabling OSM plugin in plugin manager. -
  • other OSM related bugfixes. -
+
    +
  • new OSM style files. +
  • +
  • new icons. +
  • +
  • dialog text updated and completed. +
  • +
  • "Saving OSM into file" functionality was improvements. +
  • +
  • fixed some problems with encoding... ascii to utf-8. +
  • +
  • all OSM layers are automatically removed after disabling OSM plugin in plugin manager. +
  • +
  • other OSM related bugfixes. +
  • +
-

22.2. Other notable features and improvements in this release

+
+
+

22.2. Other notable features and improvements in this release

-
    -
  • Marker size is now configurable when editing a layer. -
  • Incorporation of the analysis library into the mainstream release. -
  • Identify features across multiple layers. -
  • Added a new plugin for carrying out raster terrain analysis (computing slope +
      +
    • Marker size is now configurable when editing a layer. +
    • +
    • Incorporation of the analysis library into the mainstream release. +
    • +
    • Identify features across multiple layers. +
    • +
    • Added a new plugin for carrying out raster terrain analysis (computing slope aspect, steepness etc). -
    • A reshape tool to apply to line/polygon geometries. The part of a geometry +
    • +
    • A reshape tool to apply to line/polygon geometries. The part of a geometry between the first and last intersection of the reshape line will be replaced. -
    • Added snapping to current layer in measure dialog. -
    • Added ability to select the primary key for views. -
    • Zoom to a coordinate by entering it in the status bar coordinate display. -
    +
  • +
  • Added snapping to current layer in measure dialog. +
  • +
  • Added ability to select the primary key for views. +
  • +
  • Zoom to a coordinate by entering it in the status bar coordinate display. +
  • +
- -

23. Version 1.2.0 'Daphnis'

+
+
+
+

23. Version 1.2.0 'Daphnis'

-

+

Please note that this is a release in our 'cutting edge' release series. As such it contains new features and extends the programmatic interface over QGIS 1.0.x. If stability and long term support is more important to you @@ -1640,31 +2670,40 @@ of QGIS from our stable 1.0.x release series. This release includes over 140 bug fixes and enhancements over the QGIS 1.1.0 release. In addition we have added the following new features: -

+

-

23.1. Editing

+
+

23.1. Editing

-

+

Editing functionality in QGIS has had a major update in this release. This includes the addition of new vector editing tools: -

+

-
    -
  • delete part of multipart feature -
  • delete hole from polygon -
  • simplify feature -
  • Added a new "node" tool (in advanced digitizing toolbar). -
  • New functionality for merging features -
  • Added undo/redo functionality for vector layer editing. -
  • Added option to show only markers of selected features in editing mode. -
  • Change layer's icon in legend to reflext that the layer is editable. -
+
    +
  • delete part of multipart feature +
  • +
  • delete hole from polygon +
  • +
  • simplify feature +
  • +
  • Added a new "node" tool (in advanced digitizing toolbar). +
  • +
  • New functionality for merging features +
  • +
  • Added undo/redo functionality for vector layer editing. +
  • +
  • Added option to show only markers of selected features in editing mode. +
  • +
  • Change layer's icon in legend to reflext that the layer is editable. +
  • +
-

+

In addition, there are undo/redo actions in Edit menu, in Advanced digitizing toolbar and there is a new dock widget displaying undo stack of active layer. -

-

+

+

About the node tool: It resembles a tool for editing paths by nodes that is present in every vector editor. How does it work (in QGIS)? Click on a feature, its nodes will be marked by small rectangles. Clicking and dragging a @@ -1673,383 +2712,546 @@ key will remove active node. It's possible to select more active nodes at once: by clicking and dragging a rectangle. It's possible to select a segment's adjacent nodes by clicking on the segment. It's possible to add/remove active nodes by using Ctrl when clicking a node or dragging a rectangle -

-

+

+

We recommend that you turn off vertex markers in QGIS options when working with this tool: the redraws are much faster and the map is not cluttered with markers. -

+

-

23.2. Keyboard shortcuts

+
+
+

23.2. Keyboard shortcuts

-

+

New feature: configure shortcuts for actions within main window of qgis! See menu Setting->Configure shortcuts -

+

-

23.3. Map Composer

+
+
+

23.3. Map Composer

-

+

It is now possible to lock/unlock composer item positions by right mouse click. The width and height of the composer map will now remain fixed if user sets the composer map extent to the map canvas extent. possibility to display current date in composer label by typing (d 'June' yyyy) or similar. It is now possible to keep the current layers in a composer map even if further layers are added to the main map. Export to PDF in composer is now possible. -

+

-

23.4. Attribute tables

+
+
+

23.4. Attribute tables

-

+

It is now possible to search the attribute table within selected records only. General speedups have been made on the attribute table. Setting of field width and precision when adding attributes is now possible. Handling of attribute types in WFS provider has bee improved. -

-

+

+

Attribute aliases for vector layers are now available. The aliases are shown instead of the original field names in the info tool and attribute table to make things easier for end users. There is now a GUI for setting edit widgets for layer attributes. A new dialog allows loading a value map from a layer (could be non-spatial table too!). The edit widgets settings will also now be respected in the attribute table. -

+

-

23.5. Plugins

+
+
+

23.5. Plugins

-
    -
  • The order of layers in the WMS dialog can now be changed. -
  • The eVis plugin, version 1.1.0, has been added to the QGIS project and + +
  • +
  • An new OpenStreetMap provider and plugin have been added to QGIS. +
  • +
-

23.6. Projects Management

+
+
+

23.6. Projects Management

-

+

QGIS now includes support for project relative position of file data sources and svgs. The saving of relative paths of file data sources is optional. -

+

-

23.7. PostGIS & the PostgreSQL Provider

+
+
+

23.7. PostGIS & the PostgreSQL Provider

-

+

You can now select the SSL mode when adding a new DB connection. Turning off SSL encryption can greatly improve performance of PostGIS data loading where connection security is not required. Support has been added for more native types and for setting of column comments. -

+

-

23.8. Symbology enhancements

+
+
+

23.8. Symbology enhancements

-
    -
  • allow refresh of symbols via popup menu on the renderer's symbol selection -
  • add support for data defined symbols -
  • add support for font symbol markers (only data defined - no gui yet) -
  • add symbol size in map units (ie. symbols that keep the size in mapunits +
      +
    • allow refresh of symbols via popup menu on the renderer's symbol selection +
    • +
    • add support for data defined symbols +
    • +
    • add support for font symbol markers (only data defined - no gui yet) +
    • +
    • add symbol size in map units (ie. symbols that keep the size in mapunits independent of the mapscale) -
    +
  • +
-

23.9. Command line arguments

+
+
+

23.9. Command line arguments

-

+

Added command line argument support on windows. Enhancement of command line arguments: -

+

-
    -
  • allow given snapshot sizes -
  • allow suppression of splash screen -
  • capture map decorations from plugins on snapshots -

    +
      +
    • allow given snapshot sizes +
    • +
    • allow suppression of splash screen +
    • +
    • capture map decorations from plugins on snapshots +

      == Grass == -

      +

      There is a new GRASS shell. Also there have been many cleanups and consistency updates. -

      +

      = Version 1.1.0 'Pan' = -

      +

      Please note that this is a release in our 'unstable' release series. As such it contains new features and extends the programmatic interface over QGIS 1.0.x. If stability and long term support is more important to you then cool new and untested features, we recommend that you use a copy of QGIS from our stable 1.0.x release series. -

      +

      This release includes many bug fixes and enhancements over the QGIS 1.0.0 release. In addition we have added the following new features: -

      -
    • Updates to translations. -
    • Improvements and polishing of the Python plugin installer. Switch to the +

      +
    • +
    • Updates to translations. +
    • +
    • Improvements and polishing of the Python plugin installer. Switch to the new official QGIS repository. -
    • Improvements to themes so that plugins and other parts of the GUI are +
    • +
    • Improvements to themes so that plugins and other parts of the GUI are better supported when switching themes. Addition of the new GIS icon theme. -
    • Improvements to Debian packaging to better support Debian standard +
    • +
    • Improvements to Debian packaging to better support Debian standard requirements. -
    • Support usb: as a GPS device under Linux. -
    • WMS plugin now supports sorting and shows nested layers as a tree. WMS +
    • +
    • Support usb: as a GPS device under Linux. +
    • +
    • WMS plugin now supports sorting and shows nested layers as a tree. WMS provider also support 24bit png images now. The WMS plugin also now provides a search interface for finding WMS servers. -
    • Added svg point symbols symbols from Matt Amos (with his permission). -
    • Improvements to proxy support and support of proxy in WFS provider. The +
    • +
    • Added svg point symbols symbols from Matt Amos (with his permission). +
    • +
    • Improvements to proxy support and support of proxy in WFS provider. The WFS provider now also shows progress information as it is fetching data. -
    • Improvements the PostGIS client support. Massive speedups in PostGIS layer +
    • +
    • Improvements the PostGIS client support. Massive speedups in PostGIS layer rendering can now be achieved by disabling SSL in the connection editor. -
    • Mapserver Export improvements for continuous color support. -
    • Added tools menu - the fTools plugins are now part of the core QGIS +
    • +
    • Mapserver Export improvements for continuous color support. +
    • +
    • Added tools menu - the fTools plugins are now part of the core QGIS plugins and will always be installed by default. -
    • Improvements to the print composer including object alignment options. It +
    • +
    • Improvements to the print composer including object alignment options. It is also now possible to print maps as postcript raster or vector. For python programmers, the composer classes now have python bindings. -
    • When using File - Save as image, the saved image is now georeferenced. -
    • Projection selector now includes quick selection of recently used CRS's. -
    • Continuous color renderer supports point symbols now too. -
    • Improved CMake support for building against dependencies from OSGEO4W +
    • +
    • When using File - Save as image, the saved image is now georeferenced. +
    • +
    • Projection selector now includes quick selection of recently used CRS's. +
    • +
    • Continuous color renderer supports point symbols now too. +
    • +
    • Improved CMake support for building against dependencies from OSGEO4W (Windows only). Addition of an XCode project of developers building under OSX. -
    • Updates and cleanups to the GRASS toolbox. -
    • Changes in open vector dialog to support all drivers available in ogr +
    • +
    • Updates and cleanups to the GRASS toolbox. +
    • +
    • Changes in open vector dialog to support all drivers available in ogr including database and protocol drivers. This brings with it support for SDE, Oracle Spatial, ESRI personal geodatabase and many more OGR supported data stores. Note that in some cases accessing these may require third party libraries to be on your system. -
    • The middle mouse button can now be used for panning. -
    • A new, faster attribute table implementation. -
    • Numerous cleanups to the user interface. -
    • A new provider was added for spatiallite - a geodatabase-in-a-file +
    • +
    • The middle mouse button can now be used for panning. +
    • +
    • A new, faster attribute table implementation. +
    • +
    • Numerous cleanups to the user interface. +
    • +
    • A new provider was added for spatiallite - a geodatabase-in-a-file implementation based on the SQLITE database. -
    • Vector overlay support that can draw pie and bar charts over vector +
    • +
    • Vector overlay support that can draw pie and bar charts over vector layers based on attribute data. -
    +
  • +
- -

24. Version 1.0.0 'Kore'

+
+
+
+

24. Version 1.0.0 'Kore'

-

+

This release includes over 265 bug fixes and enhancements over the QGIS 0.11.0 release. In addition we have made the following changes: -

+

- - -

25. Version 0.11.0 'Metis'

+
+
+

25. Version 0.11.0 'Metis'

-

+

This release includes over 60 bug fixes and enhancements over the QGIS 0.10.0 release. In addition we have made the following changes: -

+

- + - -

26. Version 0.10.0 'Io'

+
+
+

26. Version 0.10.0 'Io'

-

+

This release includes over 120 bug fixes and enhancements over the QGIS 0.9.1 release. In addition we have added the following new features: -

+

- - -

27. Version 0.9.2rc1 'Ganymede'

+
+
+

27. Version 0.9.2rc1 'Ganymede'

- - -

28. Version 0.9.1 'Ganymede'

+
+
+

28. Version 0.9.1 'Ganymede'

-

+

This is a bug fix release -

+

- + - -

29. Version 0.9 'Ganymede'

+
+
+

29. Version 0.9 'Ganymede'

- - -

30. Version 0.8 'Joesephine' .... development version

+
+
+

30. Version 0.8 'Joesephine' .... development version

- - -

31. Version 0.6 'Simon'

+
+
+

31. Version 0.6 'Simon'

-

+

QGIS Change Log -

+

- - -

32. 0.5

+
+
+

32. 0.5

- -

+

2004-06-16 [larsl] 0.3.0devel40 Added skeleton code for importing other GPS file formats using GPSBabel -

-

+

+

>>>>>>> 1.136 2004-06-16 [ts] 0.3.0devel39 Added small icon displayed on raster legend showing whether this layer is in overview or not. This icon needs "petification!". Need to do the ame for vector once I figure out where to put the code!' -

-

+

+

2004-06-16 [ts] 0.3.0devel38 Added new menu / toolbar option to add all loaded layers into the overview. -

-

+

+

2004-06-15 [larsl] 0.3.0devel37 More preparation for GPS upload code New function in QgisInterface - getLayerRegistry() -

-

+

+

2004-06-14 [ts] 0.3.0devel36 Added capability for plugins to clear the current project ignoring the project dirty flag (ie force new project). -

-

+

+

2004-06-14 [ts] 0.3.0devel35 Added addRasterLayer(QgsRasterLayer *) to the plugin interface. This allows plugins to construct their own raster object, set its symbolisation and the pass it over to the app to be loaded into the canvas. -

-

+

+

2004-06-13 [ts] 0.3.0devel34 Removed gdal deps in qgisapp. -

-

+

+

Moved raster load stuff to a group at the end of qgisapp.cpp file. -

-

+

+

Removed generically usable raster fns from qgisapp to static methods of qgsrasterlayer. -

-

+

+

Some renaming of variable names etc. -

-

+

+

Added addRaster(QgsRasterLayer *) private method to qgisapp - which is intended for use via plugins that want to load 'ready made' / symbolised raster layer into the mapCanvas. -

-

+

+

2004-06-13 [ts] 0.3.0devel33 -

-

+

+

Globally changed legen item fonts to arial 10pt for consistency with rest of ui. Will soft code in qgsoptions in next release. -

-

+

+

2004-06-13 [ts] 0.3.0devel32 Add version name to splash -

-

+

+

2004-06-13 [ts] 0.3.0devel31 Implemented a new map cursor type : Capture Point (little pencil icon on your toolbar). At the moment clicking on the map in capture point mode will cause QgsMapCanvas to emit an xyClickCoordinate(QgsPoint) signal which is picked up by qgisapp and the coordinates are placed into the system clipboard. -

-

+

+

In release 0.5 this will be extended to provide simple point vector file data capture / digitizing facility. This will be implemented by means of a plugin which will utilize the aforementioned xyClickCoordinate(QgsPoint) signal. -

-

+

+

2004-06-12 [gsherman] 0.3.0devel30 Windows support -- lots of changes -

-

+

+

2004-06-11 [larsl] 0.3.0devel29 Let the user choose GPS protocol and feature type to download -

-

+

+

2004-06-10 [gsherman] 0.3.0devel28 Added display of extent rectangle in the overview map. Current implementation is not optimized (requires repaint of the overview canvas to @@ -2578,454 +3789,457 @@ Added display of extent rectangle in the overview map. Current Added acetate layer support to the map canvas. Currently there is only one acetate object type - QgsAcetateRectangle, which inherits from QgsAcetateObject. More acetate types will follow... -

-

+

+

2004-06-10 [ts] 0.3.0devel27 Modified projection (serialisation and deserialisation of project files) to use maplayerregistry and not mapcanvas. -

-

+

+

Implemented state handling of 'showInOverview' property in project io. 2004-06-10 [petebr] 0.3.0devel26 Tidied up the SPIT gui to match the plugin template. Fixed bug in scale bar which displayed the bar the wrong size! Fixed all the plugins so they do not do multiple refreshes on exit. Added color selection for scale bar. -

-

+

+

2004-06-09 [mcoletti] 0.3.0devel25 Added support for a feature type name in QgsFeature. The GDAL/OGR shape file provider now also provides the feature type name. -

-

+

+

2004-06-09 [petebr] 0.3.0devel24 Added the scale bar plugin. My first solo plugin! :-) -

-

+

+

2004-06-09 [ts] 0.3.0devel23 Added "Show in overview" option to vector popup menu. -

-

+

+

Removed overview stuff from debug only version of qgisapp. -

-

+

+

Did plumbing for enableing disabling layers in overview from popup context menu. -

-

+

+

Whoopdeedooo. :-) -

-

+

+

All that remains to do now is sort out syncronisation of layer ordering between main map canvas and overview canvas. -

-

+

+

2004-06-09 [ts] 0.3.0devel22 Fixed bug that causes qgis to crash when an empty .dbf is encountered. Added transparency slider to raster popup menu. -

-

+

+

2004-06-09 [larsl] 0.3.0devel21 Hid the "GPS download file importer" tab -

-

+

+

2004-06-08 [larsl] 0.3.0devel20 Call GPSBabel using QProcess instead of system(), show a progress bar while GPSBabel is running, show the messages printed to GPSBabel's stderr if something goes wrong -

-

+

+

2004-06-08 [larsl] 0.3.0devel19 Started adding GPS data download capability. Only tracklogs from Garmin devices for now, routes and waypoints and Magellan support will come in the near future. -

-

+

+

2004-06-08 [jobi] 0.3.0devel18 updated ts files fixed German translation added translation support to external help applications (grid_maker and gpsimporter) -

-

+

+

2004-06-07 [gsherman] 0.3.0devel17 Added update threshold to user options. Update threshold defines the number features to read before updating the map display (canvas). If set to zero the display is not updated until all features have been read. -

-

+

+

2004-06-07 [larsl] 0.3.0devel16 Changed some calls to QMessageBox::question() to QMessageBox::information() since Qt 3.1.2 doesn't have question() -

-

+

+

2004-06-07 [ts] 0.3.0devel15 Implemented map overview using maplayers rather than snapshots of a raster layer. -

-

+

+

Implemented QgsMapLayerRegistry - s singleton object that keeps track of loaded layers. When a layer is added an entry is made in the registry. When a layer is removed, the registry emits a layerWillBeRemoved signal that is connected to any mapvcanvas, legend etc that may be using the layer. The objects using the layer can then remove any reference they make to the layer - after which the registry deletes the layer object. -

-

+

+

This fixes a problem with adding an overview map which caused qgis to crash when a layer was removed because it was trying to delete the same pointer twice. -

-

+

+

Added a better implementation of the overview map below map legend. -

-

+

+

Refactoring in qgis app - all private members now adhere to qgis naming conventions (prefixed with m). -

-

+

+

Import Note *ONLY THE MAPLAYER REGISTRY SHOULD DELETE QgsMapLayer::LayerType NOW * -

-

+

+

2004-06-03 [ts] 0.3.0devel14 Added getPaletteAsPixmap function to raster and display on raster props dialog. Also added gdaldatatype to raster props metadata dialog. -

-

+

+

2004-06-04 [jobi] 0.3.0devel13 fixed tims typo with GDAL_LDADD cleaned pluginnames -

-

+

+

2004-06-03 [jobi] 0.3.0devel12 fixed bug #965720 by adding math.h for gcc 3.4 problems -

-

+

+

2004-06-02 [ts] 0.3.0devel11 Changed maplayer draw() and its subclasses vectorlayer and rasterlayer to not need src parameter (this can be obtained from painter->device()). -

-

+

+

More work on print system - still only works well on A4 landscape. -

-

+

+

Northarrow and copyright label plugins now hidethemselves before emitting update signals when OK is pressed. -

-

+

+

QGSMapCanvas can now return the (last calculated) scale using getScale -

-

+

+

QGSMapCanvas Impl struct rename to CanvasProperties. QgsMapCanvas impl_ member renamed to mCanvasProperties. -

-

+

+

2004-05-31 [ts] 0.3.0devel10 Added basic print capability to qgis....consider this a work in progress. 2004-05-31 [gsherman] 0.3.0devel9 Changed QgsIdentifyResultsBase to inherit from QWidget instead of QDialog so window position can be saved/restored from user settings each time. Changed qgis.h int version number to 300 (should have been done at release) -

-

+

+

2004-05-30 [ts] 0.3.0devel8 Fix poorly placed status text on splash screen. -

-

+

+

2004-05-27 [gsherman] 0.3.0devel7 Fixed schema problem with the spit plugin -

-

+

+

2004-05-27 [jobi] 0.3.0devel7 cleanup of gcc warnings -

-

+

+

2004-05-27 [petebr] 0.3.0devel6 Altered buttons on GUI to a standardised layout - HELP - APPLY - OK - CANCEL -

-

+

+

2004-05-26 [gsherman] 0.3.0devel5 Added theme selection to the user preferences dialog. Currently there is only one theme (default) available -

-

+

+

2004-05-26 [gsherman] 0.3.0devel4 Added theme support for loading png icons during startup. This solves ugly icon problem when encoded as xpm in the ui files. See comments in the QgisApp::settheme() function for details -

-

+

+

2004-05-26 [larsl] 0.3.0devel3 Added some calls to std::string::c_str() to hopefully make Qt without STL happy -

-

+

+

2004-05-26 [larsl] 0.3.0devel2 -

-

+

+

2004-05-26 [larsl] 0.3.0devel1 Fixed a bug that caused the legend checkboxes to always be unchecked when using Qt 3.1.2 by removing QgsLegendItem::setOn(), don't know how this affects newer Qt -

-

+

+

2004-05-25 [larsl] 0.2.0devel37 Show the legend widgets in debug mode too -

-

+

+

2004-05-25 [larsl] 0.2.0devel36 Fixed some more instances of the same bug in raster layer -

-

+

+

2004-05-25 [ts] 0.2.0devel35 Disable overview widget for release. Minor bugfix in rasterlayer picker up by Larsl which is only encountered bu i8n users. Miscellaneous other fixes including proper rotation support for north arrows in all 4 corners of display, inproved refresh behavior of n-arrow and copyright plugin, better state hadnling for copyright plugin. -

-

+

+

2004-05-25 [larsl] 0.2.0devel34 Updated all ts files and translated new messages in the swedish file -

-

+

+

2004-05-25 [larsl] 0.2.0devel33 Updated the swedish translation -

-

+

+

2004-05-25 [larsl] 0.2.0devel32 Resaved plugins/copyright_label/pluginguibase.ui with designer 3.1 to fix const problem -

-

+

+

>>>>>>> 1.120 2004-05-20 [ts] 0.2.0devel31 First working version for gui pyramid manager (implemented as tab in raster props). Raster legend entry now stretched to width of legend and show an icon indicating whether the layer has overviews or not. Added struct and qvaluelist to raster to store pyramids state in. -

-

+

+

2004-05-20 [gsherman] 0.2.0devel30 Changed release name to Madison in qgis.h Added QgsScaleCalculator to libqgis spec in src/Makefile.am Additional debug statements in grass data provider -

-

+

+

2004-05-20 [ts] 0.2.0devel29 Added pyramid / no pyramid icon to raster legend entry and made legend pixmap fill up all available space in leend width. Added new dir for icons in src that will be installed to PKGPATH/share/icons -

-

+

+

2004-05-20 [ts] 0.2.0devel28 Changed splash to load picture from file instead of an xpm include. This will hopefully speed up compile times for folks building on p133's. Changed splash image to the fluffball ready for 0.3 release. -

-

+

+

2004-05-19 [larsl] 0.2.0devel27 Implemented nextFeature(list<int>&) in the GPX provider -

-

+

+

2004-05-18 [gsherman] 0.2.0devel26 Saved the qgsappbase.ui and the qgsprojectpropertiesbase.ui files (modified at version 0.2.0devel25) using qt designer 3.1.2 to preserve backward compatibility. -

-

+

+

2004-05-18 [gsherman] 0.2.0devel25 Changes to implement scale display for map data in feets, meters, and decimal degrees. A new menu item is added to the Tools menu for selecting the map units. This setting is currently not saved with a project file. TODO:Modify qgis.dtd and project save/load to support map units. -

-

+

+

NOTE - the qgisapp.ui file was created with qt 3.3.x and WILL NOT WORK with qt 3.1.2. This will be changed as soon as I can find my 3.1.2 version of qt designer... -

-

+

+

2004-05-18 [ts] 0.2.0devel24 Relax checking of raster filetype extensions to cater for filetypes where extension is unpredictable (e.g. grass). Now I use gdal to quickly check if a file is usable so pretty much anything gdal iscompile with should get through if you have chosen wildcard filter in add raster dialog. -

-

+

+

2004-05-17 [larsl] 0.2.0devel23 Added URL parsing and attribute fields for route and track GPX layers -

-

+

+

2004-05-17 [ts] 0.2.0devel22 Added support to Save As Image to save in any QImageIO supported format. File->SaveAsImage dialog filter list now generated automagically by interrogating QImageIO for its supportted formats. File->SaveAsImage remembers last dir used (stored in qsettings). Its supposed to remember last filter used but there is an issue with that that needs to be resolved. -

-

+

+

2004-05-16 [larsl] 0.2.0devel21 Added url/link parsing to the GPX provider -

-

+

+

2004-05-16 [larsl] 0.2.0devel20 Corrected file name extension for PNG files -

-

+

+

2004-05-15 [larsl] 0.2.0devel19 Added my picture in the About dialog to attract more female users to QGIS -

-

+

+

2004-05-13 [ts] 0.2.0devel18 Raster properties changes: Switched order of general tab and symbology tab - as you normally change straight to symbology tab anyway. Removed stats tab and consolidated stats into metadata tab. Clean ups on metadata tab. -

-

+

+

2004-05-13 [ts] 0.2.0devel17 Raster stats tab now displays pyramid/overview info -

-

+

+

2004-05-14 [larsl] 0.2.0devel16 Cleaned up the enabling/disabling of controls in the GPS dialog Changed the order in which different layers are loaded from a GPX file Added the basename of the GPX or LOC file in the layer name Changed the plugin name to the more general "GPS Tools" -

-

+

+

2004-05-14 [larsl] 0.2.0devel15 Fixed a bug that caused the canvas to have a fixed width of 400 with my Qt version - the main grid layout for the main window had one extra column -

-

+

+

2004-05-14 [larsl] 0.2.0devel14 Added a tab for loading GPX and LOC files to the GPS plugin dialog -

-

+

+

2004-05-14 [larsl] 0.2.0devel13 Added a virtual destructor to QgsDataProvider and deleted dataProvider in the destructor for QgsVectorLayer -

-

+

+

2004-05-13 [larsl] 0.2.0devel12 Changing std::string to QString in GPSData::getData() and GPSData::releaseData() to support Qt libraries built without STL support -

-

+

+

2004-05-13 [ts] 0.2.0devel11 Fixes for segfaults on grid_make and gps_importer dbf creation -

-

+

+

2004-05-12 [gsherman] 0.2.0devel10 Fixes for OS X endian bug (needs further testing) -

-

+

+

2004-05-12 [jobi] 0.2.0devel9 Added endian checks in configure decreased versions in the auto* checks -

-

+

+

2004-05-12 [ts] 0.2.0devel8 Added addProject(QString) to plugin interface. -

-

+

+

2004-05-05 [jobi] 0.2.0devel7 Extended qgis-config to expose version -

-

+

+

2004-05-04 [ts] 0.2.0devel6 Added two new internal plugins - North Arrow and Copyright message overlay -

-

+

+

2004-05-03 [ts] 0.2.0devel5 Canvas now emits renderComplete signal when rendering of cnavas has completed, but before the screen is refreshed. Added accessor and mutators for the canvas pixmap. -

-

+

+

2004-05-03 [ts] 0.2.0devel4 qgisApp->mapCanvas is now exposed through the plugin interface. -

-

+

+

2004-05-03 [ts] 0.2.0devel3 Added three new widgets to status bar: scale - which shows the scale in the form 1:50000 * coordinates - shows coordinates of mouse on map in its own widget progressbar - shows the progress of any task that emits signals connected to showProgress slot -

-

+

+

Added signal / slot mechanism for showExtents and set fp precision to 2 (see below) -

-

+

+

stringRep function in QgsRect and QgsPoint now overloaded to allow setting floating point precision for display. QgisApp & canvas are currently hard coding this to 2 but I plan to make this user configurable in the options panel. -

-

+

+

Added example of using progress indicator to raster stats gathering procedure. You can see this in action by setting ak_shade example dataset to singleband pseudocolor and you will see progress indicator advancing as stats are gathered. -

-

+

+

*NOTE: scale calculations may not be correct at this point - they are still under development. -

-

+

+

2004-04-27 [ts] 0.2.0devel2 -

-

+

+

Added preliminary support for building pyramids in raster files using the GDAL overview function. Currently it is hard coded to use Nearest neighbour algorithm with pyramids at levels 2, 4 and 8. Adding pyramids to your raster layer can greatly improve rendering performance. This new functionality is accessed by right clicking on a raster legen entry and choosing 'Build Pyramids' from the popup menu. -

-

+

+

*PLEASE USE WITH CAUTION * This current implementation does not warn you of possible side effects including: -

+

- -

+

2004-04-27 [ts] 0.2.0devel1 -

-

+

+

Rejigged single marker symbol so directory, icon selector, preview and scaling widget are all in one panel rather than having to spawn a new window to select an icon. -

-

+

+

2004-04-27 [ts] 0.2.0devel0 -

-

+

+

Fixed broken bits in internal plugin builder template and updated default plugin template gui, -

-

+

+

Version 0.2 'Pumpkin' .... development version -

-

+

+

2004-04-25 [jobi] 0.1.0devel36 Added i18n tools to EXTRA_DIST Updated German translation fixed a typo -> other translations changed too -

-

+

+

2004-04-22 [jobi] 0.1.0devel35 added install routine for svg files added new translations adjusted paths in the cpp files -

-

+

+

2004-04-19 [jobi] 0.1.0devel34 Changed to simple macros for detecting QT and GDAL Added code for detecting QGIS as m4 file to tools @@ -3039,136 +4253,136 @@ updated German translation !! aclocal) !! It can be cheated by adding -I path/to/qgis.m4 to the aclocal of !! autogen.sh. But be careful not to commit that to CVS -

-

+

+

2004-04-18 [jobi] 0.1.0devel33 Added internationalisations stuff Needs some documentation and more translations :-) -

-

+

+

2004-04-17 [ts] 0.1.0devel32 Fix for crash when opening singleband grayscale images introduced by Steves fix for crash when opening MULTIBAND_SINGLEBAND_GRAYSCALE images. Thanks to Steves help, all eight raster renderers are now working properly. This resolves bug : [ 934234 ] Segfault when drawing multiband image band as grayscale -

-

+

+

2004-04-06 [ts] 0.1.0devel31 Added new plugin (grid_maker) to build arbitrary sized graticules and add them to the current map view. -

-

+

+

2004-04-05 [jobi] 0.1.0devel30 fixed qgiscommit (didn't work when in qgis root) cosmetics for qgis-config to be more "standardconform" -

-

+

+

2004-04-04 [jobi] 0.1.0devel29 fixed GRASS provider -

-

+

+

2004-04-03 [ts] 0.1.0devel28 Bug fix (still unconfirmed if it cures the bug!) for raster layer rendering artifacts. -

-

+

+

Added new color ramper for grayscale and pseudcolor grayscale image called freak out (its a bit psycadellic at the moment). Last class break ne eds some work! -

-

+

+

2004-04-02 [jobi] 0.1.0devel27 Added version checks for autoconf, automake and libtool Small bugfixes -

-

+

+

2004-04-02 [mcoletti] 0.1.0devel26 Rolling forward QgsFeature::setGeometry() interface change whereby the size of the well known type geometry binary buffer is also now passed in. -

-

+

+

2004-04-02 [mcoletti] 0.1.0devel25 Compensating for QgsFeature::setGeometry() now accepting "size" parameter for the given binary geometry string. -

-

+

+

QgsShapeFileProvider::endian() now uses shorter, standard way of computing endian-ness. -

-

+

+

2004-04-02 [stevehalasz] 0.1.0devel25 -

-

+

+

2004-04-01 [jobi] 0.1.0devel24 changed qgiscommit to hopefully fix all problems -

-

+

+

2004-04-01 [jobi] 0.1.0devel23 Extended tools/qgiscommit to pass parameters to cvs -

-

+

+

2004-04-01 [jobi] 0.1.0devel22 Fixed GRASS plugin and provider build -

-

+

+

2004-04-01 [jobi] 0.1.0devel21 fixed strange warning: object 'foo.$(OBJEXT)' created both with libtool and without also cleaned the other Makefiles that way -

-

+

+

2004-03-31 [jobi] 0.1.0devel20 fixed small bug renamed plugins/gps_importer/shapefil.h to shapefile.h -

-

+

+

2004-03-31 [jobi] 0.1.0devel19 A lot of small changes to make release work again Probably more cleaning in the Makefiles needed -

-

+

+

2004-03-27 [ts] 0.1.0devel18 Fix for cl parameter "snapshot" to ensure events are process (ie canvas is drawn!) before snapshot is taken. -

-

+

+

2004-03-27 [jobi] 0.1.0devel17 autogen.sh now passes parameters to configure fixed tools/qgiscommit by using mktemp, thanx mcoletti pluginpath is now taken of libdir to be 64bit compliant (e.g. /usr/lib64/qgis) -

-

+

+

2004-03-26 [jobi] 0.1.0devel13 forgot to remove tempfile -

-

+

+

2004-03-26 [jobi] 0.1.0devel12 Removed Newline after statusline Should work now fine! Have fun -

-

+

+

2004-03-26 [jobi] 0.1.0devel11 -

-

+

+

Added qgiscommit tool -

-

+

+

2004-03-26 [didge] 0.1.0devel10 -

-

+

+

Fixed bug #920070 Made plugin-libdir 64bit compatible (e.g. /usr/lib64/qgis) for AMD64 and PPC64 systems -

-

+

+

2004-03-22 [mac] 0.1.0devel9 -

-

+

+

Added gps_importer plugin (still a work in progress) -

-

+

+

2004-03-22 [mac] 0.1.0devel8 s/config.h/qgsconfig.h/ qgsconfig.h now has header sentinels @@ -3176,21 +4390,21 @@ now will install headers in $(prefix)/qgis/include and libqis.* library in $(prefix)/lib "src/Makefile" no longer relies on explicit dependencies and uses better naming scheme for created source files -

-

+

+

2004-03-21 [ts] 0.1.0devel7 -

-

+

+

Added thumbnail preview of raster to raster props dialog. Added drawThumbnail method to rasterlayer.cpp Split (overloaded) draw method in rasterlayer.cpp so that some parts of the original draw method could be used by drawThumbnail method too. -

-

+

+

Fixed a bug in the drawing of pseudocolor single band grayscale images that prevented all class breaks being displayed. -

-

+

+

2004-03-10 [gs] 0.1.0devel7 Added delimited text plugin which provides gui to add delimited text layers using the delimited_text data provider @@ -3200,51 +4414,51 @@ Changes to delimited_text data provider to support zooming, display Auto* changes to support building the delimited text provider and plugin Minor changes to QgsFeature -

-

+

+

2004-03-06 [ts] 0.1.0devel6 Completed session management of plugins (so active plugins are remembered when qgis closes and reloaded in the next session). -

-

+

+

2004-03-06 [ts] 0.1.0devel6 Save state of plugins in ~/.qt/qtrc file (in progress). State is saved, just need to implement code to load plugins marked as active during application startup. -

-

+

+

2004-03-06 [ts] 0.1.0devel6 Added QgsRasterLayer::filterLayer which gets called near the end of each of the 8 renderers. This is the place to inline filters. Note that eventually filters will be hived out to a filter plugin mechanism. -

-

+

+

2004-03-06 [didge] 0.1.0devel6 Changed configure stuff to write DEFINES in config.h. PostgreSQL stuff needs testing as I commented the compileflags in src/Makefile.am Infos will be posted on the devel mailinglist -

-

+

+

2004-03-04 [ts] 0.1.0devel5 Added option to options dialog to disable splashscreen. -

-

+

+

2004-02-28 [ts] 0.1.0devel5 -

+

- -
+
-

+

Version 0.1 'Moroz' February 25, 2004 User interface improvements - menu and dialog cleanups and a new icon theme based on Everaldo's Crystal icon set. @@ -3305,8 +4520,8 @@ Plugin template to automate the more mundane parts of creating a new plugin. Numerous bug fixes Removed dependency on libpq++ when compiling with PostgreSQL/PostGIS support PostgreSQL/PostGIS layers now rely on GEOS for selecting features -

-

+

+

Version 0.0.13 December 8, 2003 New build system (uses GNU Autoconf) Improvement to sorting in attribute table @@ -3314,8 +4529,8 @@ Persistent selections (shapefiles only) Display order can be changed by dragging a layer to a new position in the legend Export QGIS view as a Mapserver map file Fix for crash on SuSE 9.0 when moving mouse in legend area -

-

+

+

Version 0.0.12-alpha June 10, 2003 Multiple features displayed with the Identify tool Identify function returns and displays attributes for multiple @@ -3330,8 +4545,8 @@ Bug fix: Bug that prevented reopening of the attribute table once Bug fix: Bug that prevented lines from being drawn with widths other than 1 pixel Build system has changed for building with PostgreSQL support. -

-

+

+

Version 0.0.11-alpha June 10, 2003 Preliminary Plugin Manager implementation Version check under tools menu @@ -3344,37 +4559,37 @@ Fixes to Database Connection dialog Fix for crash when opening a shapefile attribute table twice in succession Fix for crash when opening invalid shapefiles -

-

+

+

Version 0.0.10-alpha May 13, 2003 *Fixes to project save/open support *Enhancements to plugin tests *Fixes to build system (gdal link problem) -

-

+

+

Version 0.0.9-alpha January 25, 2003 *Preliminary project save/open support *Streamlined build system -

-

+

+

Version 0.0.8-alpha December 11, 2002 *During repaint, the data store is only accessed if map state or extent has changed *Changes to layer properites aren't effective until the Layer Properties dialog is closed *Canceling the Layer Propeties dialog cancels changes -

-

+

+

Version 0.0.7-alpha November 30, 2002 *Changes to the build system to allow building with/without PostgeSQL support -

-

+

+

Version 0.0.6a-alpha November 27, 2002 *Fix to build problems introduced at 0.0.6. No new features are included in this release. -

-

+

+

Version 0.0.6-alpha November 24, 2002 *Improved handling/management of PostGIS connections *Password prompt if the password is not stored with a connection @@ -3382,8 +4597,8 @@ Version 0.0.6-alpha November 24, 2002 *Identify function for layers *Attribute table for a layer can be displayed and sorted by clicking on column headers *Duplicate layers (layers with same name) are now handled properly -

-

+

+

Version 0.0.5-alpha October 5, 2002 * Removing a layer from the map no longer crashes the application * Fixed multiple render bug when adding a layer @@ -3394,8 +4609,8 @@ Version 0.0.5-alpha October 5, 2002 * Zoom Previous added to toolbar * Toolbar has been rearranged and new icons added * Help|About QGis now contains Version, Whats New, and License information -

-

+

+

Version 0.0.4-alpha August 15, 2002 * Added Layer Properties dialog * User can set color for layers @@ -3405,47 +4620,48 @@ Version 0.0.4-alpha August 15, 2002 * Fixed multiple repaint bug that occurred when more than one layer was added at a time * Fixed bug that caused a full refresh at the beginning of a pan operation -

-

+

+

Version 0.0.3-alpha August 10, 2002 * Support for shapefiles and other vector formats * Improved handling of extents when adding layers * Primitive legend that allows control of layer visibility * About Quantum GIS implemented * Other internal changes -

-

+

+

July 26, 2002 Drawing code now properly displays layers and calculates extents when zooming. Zoom is still fixed zoom in rather than interactive. -

-

+

+

July 20, 2002 Repaint automatic for layers. -

-

+

+

July 18, 2002 Point, line and polygon PostGis layers can be drawn. Still issues with map extent and positioning of layers on the canvas. Drawing is manual and not tied to the paint event. No zooming or panning yet. -

-

+

+

July 10, 2002 Layers can be selected and added to the map canvas collection however the rendering code is currently disabled and being reorganized. So if you add a layer, nothing will be drawn... -

-

+

+

July 6, 2002 This code is preliminary and really has no true functionality other than the ability to define a PostGIS connection and display the spatially enabled tables that could be loaded. -

-

+

+

This is the initial import of the code base into CVS on Sourceforge.net. -

- +

+
+ - - - + + +
diff --git a/doc/news.t2t b/doc/news.t2t index 7b734832dd3..4f7ecbe5c9f 100644 --- a/doc/news.t2t +++ b/doc/news.t2t @@ -4,7 +4,7 @@ Change history for the QGIS Project %! target : html %! style : style.css -%! Options : --toc --toc-level 1 --enum-title --css-sugar --css-inside +%! Options : --toc --toc-level 1 --enum-title %! preproc : TUT_URL https://qgis.org %! PostProc(html): '(?i)(
)' '
\1' %! PostProc(html): '(?i)(
)' '\1'