Skip to content

Commit

Permalink
Merge branch 'master' into regularShape_gui
Browse files Browse the repository at this point in the history
  • Loading branch information
lbartoletti committed Oct 3, 2017
2 parents 0204302 + 22d4d22 commit 870de2e
Show file tree
Hide file tree
Showing 715 changed files with 18,416 additions and 2,988 deletions.
1 change: 0 additions & 1 deletion .gitignore
Expand Up @@ -52,7 +52,6 @@ scripts/astyle.exe
scripts/Debug
scripts/qgisstyle*
scripts/RelWithDebInfo
src/core/qgscontexthelp_texts.cpp
src/core/qgsexpression_texts.cpp
tests/testdata/cache/
tests/testdata/checker360by180.asc.aux.xml
Expand Down
18 changes: 17 additions & 1 deletion CMakeLists.txt
Expand Up @@ -59,6 +59,8 @@ IF(WITH_CORE)

SET (WITH_DESKTOP TRUE CACHE BOOL "Determines whether QGIS desktop should be built")

SET (WITH_3D FALSE CACHE BOOL "Determines whether QGIS 3D library should be built")

# server disabled default because it needs FastCGI (which is optional dependency)
SET (WITH_SERVER FALSE CACHE BOOL "Determines whether QGIS server should be built")
IF(WITH_SERVER)
Expand Down Expand Up @@ -258,7 +260,13 @@ IF(WITH_CORE)
ENDIF(WITH_QTWEBKIT)
#############################################################
# search for Qt5
SET(QT_MIN_VERSION 5.2.0)
IF (WITH_3D)
# for 3D support we strictly require Qt >= 5.8
# (Qt 3D was introduced in 5.7 but it is not stable enough in that branch)
SET(QT_MIN_VERSION 5.8.0)
ELSE ()
SET(QT_MIN_VERSION 5.2.0)
ENDIF()
FIND_PACKAGE(Qt5Core QUIET)
FIND_PACKAGE(Qt5Gui REQUIRED)
FIND_PACKAGE(Qt5Widgets REQUIRED)
Expand All @@ -276,6 +284,14 @@ IF(WITH_CORE)
FIND_PACKAGE(Qt5UiTools REQUIRED)
FIND_PACKAGE(Qt5Script REQUIRED)
FIND_PACKAGE(Qt5Sql REQUIRED)
IF (WITH_3D)
FIND_PACKAGE(Qt53DCore REQUIRED)
FIND_PACKAGE(Qt53DRender REQUIRED)
FIND_PACKAGE(Qt53DInput REQUIRED)
FIND_PACKAGE(Qt53DLogic REQUIRED)
FIND_PACKAGE(Qt53DExtras REQUIRED)
SET(HAVE_3D TRUE) # used in qgsconfig.h
ENDIF (WITH_3D)
INCLUDE("cmake/modules/ECMQt4To5Porting.cmake")
MESSAGE(STATUS "Found Qt version: ${Qt5Core_VERSION_STRING}")

Expand Down
3 changes: 2 additions & 1 deletion INSTALL
Expand Up @@ -108,6 +108,7 @@ Required build dependencies:
- QScintilla2
- QCA
- qtkeychain (>= 0.5)
- libzip

Optional dependencies:

Expand Down Expand Up @@ -364,7 +365,7 @@ new subdirectory called `build` or `build-qt5` in it.
3.9.1. Install build dependencies
=================================

dnf install qt5-qtwebkit-devel qt5-qtlocation-devel qt5-qttools-static qt5-qtscript-devel qca-qt5-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
dnf install qt5-qtwebkit-devel qt5-qtlocation-devel qt5-qttools-static qt5-qtscript-devel qca-qt5-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:

Expand Down
4 changes: 3 additions & 1 deletion cmake_templates/qgsconfig.h.in
Expand Up @@ -13,7 +13,7 @@
//used in vim src/core/qgis.cpp
//The way below should work but it resolves to a number like 0110 which the compiler treats as octal I think
//because debuggin it out shows the decimal number 72 which results in incorrect version status.
//As a short term fix I (Tim) am defining the version in top level cmake. It would be good to
//As a short term fix I (Tim) am defining the version in top level cmake. It would be good to
//reinstate this more generic approach below at some point though
//#define VERSION_INT ${CPACK_PACKAGE_VERSION_MAJOR}${CPACK_PACKAGE_VERSION_MINOR}${CPACK_PACKAGE_VERSION_PATCH}
#define VERSION_INT ${QGIS_VERSION_INT}
Expand Down Expand Up @@ -58,5 +58,7 @@

#cmakedefine ENABLE_MODELTEST

#cmakedefine HAVE_3D

#endif

15 changes: 14 additions & 1 deletion debian/control.in
Expand Up @@ -38,7 +38,7 @@ Build-Depends:
graphviz,
xvfb, xauth,
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable,
#sid# libosgearth-dev,
#artful sid# libosgearth-dev, qt3d5-dev, qt3d-assimpsceneimport-plugin, qt3d-defaultgeometryloader-plugin, qt3d-gltfsceneio-plugin, qt3d-scene2d-plugin,
#oracle# oracle-instantclient12.1-devel, oracle-instantclient12.1-basiclite, qtbase5-private-dev,
locales, ca-certificates, ninja-build
Build-Conflicts: libqgis-dev, qgis-dev
Expand Down Expand Up @@ -145,6 +145,19 @@ Description: QGIS - shared native gui library
.
This package contains the shared native gui library.

#artful sid#Package: libqgis-3d{QGIS_ABI}
#artful sid#Architecture: any
#artful sid#Section: libs
#artful sid#Depends:
#artful sid# qt3d-assimpsceneimport-plugin, qt3d-defaultgeometryloader-plugin, qt3d-gltfsceneio-plugin, qt3d-scene2d-plugin,
#artful sid# ${shlibs:Depends},
#artful sid# ${misc:Depends}
#artful sid#Description: QGIS - shared 3d library
#artful sid# QGIS is a Geographic Information System (GIS) which manages, analyzes and
#artful sid# display databases of geographic information.
#artful sid# .
#artful sid# This package contains the shared 3d library.
#artful sid#
Package: libqgisgrass{GRASSVER}-{QGIS_ABI}
Architecture: any
Section: libs
Expand Down
1 change: 1 addition & 0 deletions debian/libqgis-3d{QGIS_ABI}.install
@@ -0,0 +1 @@
usr/lib/libqgis_3d.so.{QGIS_ABI}
1 change: 1 addition & 0 deletions debian/libqgis-dev.install.in
Expand Up @@ -8,3 +8,4 @@ usr/lib/libqgis_server.so
usr/lib/libqgisgrass{GRASSVER}.so
usr/lib/libqgispython.so
usr/share/qgis/FindQGIS.cmake
#sid#usr/lib/libqgis_3d.so
1 change: 1 addition & 0 deletions debian/qgis-common.install
Expand Up @@ -18,3 +18,4 @@ usr/share/qgis/i18n/*
usr/share/qgis/images/*
usr/share/qgis/resources/spatialite.db
usr/share/qgis/resources/themes/*
usr/share/qgis/qgis_global_settings.ini
6 changes: 4 additions & 2 deletions debian/rules
Expand Up @@ -102,8 +102,10 @@ ifneq (,$(findstring $(DISTRIBUTION),"sid stretch"))
CMAKE_OPTS += -DPOSTGRES_LIBRARY=/usr/lib/$(DEB_BUILD_MULTIARCH)/libpq.so
endif

ifneq (,$(findstring $(DISTRIBUTION),"sid"))
CMAKE_OPTS += -DGEOS_LIBRARY=/usr/lib/$(DEB_BUILD_MULTIARCH)/libgeos_c.so
ifneq (,$(findstring $(DISTRIBUTION),"artful sid"))
CMAKE_OPTS += \
-DWITH_3D=TRUE \
-DGEOS_LIBRARY=/usr/lib/$(DEB_BUILD_MULTIARCH)/libgeos_c.so
endif


Expand Down
5 changes: 5 additions & 0 deletions doc/CMakeLists.txt
Expand Up @@ -53,6 +53,7 @@ IF(WITH_APIDOC)
SET(DOXYGEN_INPUT
${CMAKE_SOURCE_DIR}/doc
${CMAKE_SOURCE_DIR}/src/core
${CMAKE_SOURCE_DIR}/src/core/3d
${CMAKE_SOURCE_DIR}/src/core/annotations
${CMAKE_SOURCE_DIR}/src/core/auth
${CMAKE_SOURCE_DIR}/src/core/composer
Expand Down Expand Up @@ -91,6 +92,10 @@ IF(WITH_APIDOC)
${CMAKE_SOURCE_DIR}/src/analysis/openstreetmap
${CMAKE_SOURCE_DIR}/src/analysis/raster
${CMAKE_SOURCE_DIR}/src/analysis/vector
${CMAKE_SOURCE_DIR}/src/3d
${CMAKE_SOURCE_DIR}/src/3d/chunks
${CMAKE_SOURCE_DIR}/src/3d/symbols
${CMAKE_SOURCE_DIR}/src/3d/terrain
${CMAKE_SOURCE_DIR}/src/plugins
)

Expand Down
44 changes: 22 additions & 22 deletions doc/INSTALL.html
Expand Up @@ -77,13 +77,13 @@
<DIV CLASS="header" ID="header">
<H1>QGIS</H1>
<H2>Building QGIS from source - step by step</H2>
<H3>Saturday September 23, 2017</H3>
<H3>Monday October 02, 2017</H3>
</DIV>

<DIV CLASS="body" ID="body">
<P>
Last Updated: Saturday September 23, 2017
Last Change : Saturday September 23, 2017
Last Updated: Monday October 02, 2017
Last Change : Monday October 02, 2017
</P>
<DIV CLASS="toc">

Expand Down Expand Up @@ -596,7 +596,7 @@ <H2>3.9. On Fedora Linux</H2>
<H3>3.9.1. Install build dependencies</H3>

<div class="code"><PRE>
dnf install qt5-qtwebkit-devel qt5-qtlocation-devel qt5-qttools-static qt5-qtscript-devel qca-qt5-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
dnf install qt5-qtwebkit-devel qt5-qtlocation-devel qt5-qttools-static qt5-qtscript-devel qca-qt5-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
</PRE></div>

<P>
Expand Down Expand Up @@ -751,6 +751,7 @@ <H3>4.1.2. Other tools and dependencies</H3>
<LI>python3-future
<LI>python3-pyyaml
<LI>python3-mock
<LI>python3-six
<LI>qca-qt5-devel
<LI>qca-qt5-libs
<LI>qscintilla-qt5
Expand Down Expand Up @@ -1002,7 +1003,7 @@ <H3>4.2.2. Qt</H3>
When Qt installation is complete:
</P>
<P>
Edit C:\Qt\4.8.0\bin\qtvars.bat and add the following lines:
Edit C:\Qt\5.9.1\bin\qtvars.bat and add the following lines:
</P>

<div class="code"><PRE>
Expand All @@ -1011,12 +1012,12 @@ <H3>4.2.2. Qt</H3>
</PRE></div>

<P>
I suggest you also add C:\Qt\4.8.0\bin\ to your Environment Variables Path in
I suggest you also add C:\Qt\5.9.1\bin\ to your Environment Variables Path in
the windows system preferences.
</P>
<P>
If you plan to do some debugging, you'll need to compile debug version of Qt:
C:\Qt\4.8.0\bin\qtvars.bat compile_debug
C:\Qt\5.9.1\bin\qtvars.bat compile_debug
</P>
<P>
Note: there is a problem when compiling debug version of Qt 4.7, the script ends with
Expand All @@ -1026,7 +1027,7 @@ <H3>4.2.2. Qt</H3>
</P>

<div class="code"><PRE>
c:\Qt\4.8.0 make
c:\Qt\5.9.1 make
</PRE></div>

<H3>4.2.3. Flex and Bison</H3>
Expand All @@ -1036,15 +1037,16 @@ <H3>4.2.3. Flex and Bison</H3>
<A HREF="http://sourceforge.net/project/showfiles.php?group_id=23617&amp;package_id=16424">http://sourceforge.net/project/showfiles.php?group_id=23617&amp;package_id=16424</A>
(the zip bin) and extract it into c:\msys\mingw\bin
</P>

<H3>4.2.4. Python stuff (optional)</H3>

<H3>4.2.4. Python</H3>
<P>
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 PyQt4 from sources as
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.
</P>

<P>
Note that even if you compile without the Python bindings, Python3 is still
a necessary dependency for building QGIS.
</P>
<H4>4.2.4.1. Download and install Python - use Windows installer</H4>

<P>
Expand All @@ -1053,9 +1055,7 @@ <H4>4.2.4.1. Download and install Python - use Windows installer</H4>
<P>
<A HREF="http://python.org/download/">http://python.org/download/</A>
</P>

<H4>4.2.4.2. Download SIP and PyQt4 sources</H4>

<H4>4.2.4.2. Download SIP and PyQt5 sources</H4>
<P>
<A HREF="http://www.riverbankcomputing.com/software/sip/download">http://www.riverbankcomputing.com/software/sip/download</A>
<A HREF="http://www.riverbankcomputing.com/software/pyqt/download">http://www.riverbankcomputing.com/software/pyqt/download</A>
Expand All @@ -1068,7 +1068,7 @@ <H4>4.2.4.2. Download SIP and PyQt4 sources</H4>
<H4>4.2.4.3. Compile SIP</H4>

<div class="code"><PRE>
c:\Qt\4.8.0\bin\qtvars.bat
c:\Qt\5.9.1\bin\qtvars.bat
python configure.py -p win32-g++
make
make install
Expand All @@ -1077,7 +1077,7 @@ <H4>4.2.4.3. Compile SIP</H4>
<H4>4.2.4.4. Compile PyQt</H4>

<div class="code"><PRE>
c:\Qt\4.8.0\bin\qtvars.bat
c:\Qt\5.9.1\bin\qtvars.bat
python configure.py
make
make install
Expand All @@ -1086,7 +1086,7 @@ <H4>4.2.4.4. Compile PyQt</H4>
<H4>4.2.4.5. Final python notes</H4>

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

Expand All @@ -1106,7 +1106,7 @@ <H3>4.2.6. CMake</H3>
CMake is build system used by QGIS. Download it from here:
</P>
<P>
<A HREF="http://www.cmake.org/files/v2.8/cmake-2.8.2-win32-x86.exe">http://www.cmake.org/files/v2.8/cmake-2.8.2-win32-x86.exe</A>
<A HREF="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</A>
</P>

<H3>4.2.7. QGIS</H3>
Expand Down Expand Up @@ -1141,11 +1141,11 @@ <H3>4.2.8. Compiling</H3>
</P>

<div class="code"><PRE>
c:\Qt\4.8.0\bin\qtvars.bat
c:\Qt\5.9.1\bin\qtvars.bat
</PRE></div>

<P>
For ease of use add c:\Qt\4.8.0\bin\ to your system path in system
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:
</P>
Expand Down
2 changes: 2 additions & 0 deletions doc/api_break.dox
Expand Up @@ -1154,6 +1154,8 @@ QgsExpression::Function {#qgis_api_break_3_0_QgsExpression_Function}
- `QgsExpression::Function::usesgeometry()` has been renamed to `QgsExpression::Function::usesGeometry( const NodeFunction* node )`
- `QStringList QgsExpression::Function::referencedColumns()` has been changed to `QSet<QString> QgsExpression::Function::referencedColumns( const NodeFunction* node )`
- `QgsExpression::Function::helptext()` has been renamed to `helpText()`
- `QgsExpression::Function::func` has an additional parameter `node` that
provides access to the original node.

QgsExpressionItem {#qgis_api_break_3_0_QgsExpressionItem}
-----------------
Expand Down
2 changes: 1 addition & 1 deletion doc/linux.t2t
Expand Up @@ -257,7 +257,7 @@ new subdirectory called `build` or `build-qt5` in it.
=== Install build dependencies ===

```
dnf install qt5-qtwebkit-devel qt5-qtlocation-devel qt5-qttools-static qt5-qtscript-devel qca-qt5-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
dnf install qt5-qtwebkit-devel qt5-qtlocation-devel qt5-qttools-static qt5-qtscript-devel qca-qt5-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:
Expand Down
6 changes: 6 additions & 0 deletions doc/modules.dox
Expand Up @@ -25,6 +25,12 @@ components to QGIS.

*/

/** @defgroup 3d 3D library

The 3D library is build on top of the CORE library and Qt 3D framework. It adds support for display of GIS data in 3D scenes.

*/

/** @defgroup plugins plugin classes

Contains classes related to implementation of QGIS plugins.
Expand Down
1 change: 1 addition & 0 deletions doc/msvc.t2t
Expand Up @@ -51,6 +51,7 @@ and from OSGeo4W (select //Advanced Installation//):
- python3-future
- python3-pyyaml
- python3-mock
- python3-six
- qca-qt5-devel
- qca-qt5-libs
- qscintilla-qt5
Expand Down

0 comments on commit 870de2e

Please sign in to comment.