@@ -11,12 +11,11 @@ CMAKE_POLICY (SET CMP0053 NEW)
# ############################################################
# Project and version
SET (CPACK_PACKAGE_VERSION_MAJOR "3" )
SET (CPACK_PACKAGE_VERSION_MINOR "6 " )
SET (CPACK_PACKAGE_VERSION_PATCH "0 " )
SET (CPACK_PACKAGE_VERSION_MINOR "4 " )
SET (CPACK_PACKAGE_VERSION_PATCH "5 " )
SET (COMPLETE_VERSION ${CPACK_PACKAGE_VERSION_MAJOR} .${CPACK_PACKAGE_VERSION_MINOR} .${CPACK_PACKAGE_VERSION_PATCH} )
SET (RELEASE_NAME "Noosa " )
SET (RELEASE_NAME "Madeira " )
PROJECT (qgis VERSION ${COMPLETE_VERSION} )
IF (APPLE)
SET (QGIS_APP_NAME "QGIS" )
ELSE (APPLE)
@@ -69,20 +68,6 @@ IF(NOT MSVC)
endif (USE_CCACHE)
endif (NOT MSVC)
IF (IOS)
SET (DEFAULT_FORCE_STATIC_LIBS TRUE)
ELSE (IOS)
SET (DEFAULT_FORCE_STATIC_LIBS FALSE )
ENDIF (IOS)
SET (FORCE_STATIC_LIBS ${DEFAULT_FORCE_STATIC_LIBS} CACHE BOOL "Determines whether libraries should be static only" )
MARK_AS_ADVANCED (FORCE_STATIC_LIBS)
IF (FORCE_STATIC_LIBS)
SET (LIBRARY_TYPE STATIC )
ELSE (FORCE_STATIC_LIBS)
SET (LIBRARY_TYPE SHARED )
ENDIF (FORCE_STATIC_LIBS)
# in generated makefiles use relative paths so the project dir is moveable
# Note commented out since it cause problems but it would be nice to resolve these and enable
#
@@ -112,8 +97,6 @@ IF(WITH_CORE)
SET (WITH_GUI TRUE CACHE BOOL "Determines whether QGIS GUI library (and everything built on top of it) should be built" )
SET (WITH_ANALYSIS TRUE CACHE BOOL "Determines whether QGIS analysis library should be built" )
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" )
@@ -147,10 +130,6 @@ IF(WITH_CORE)
SET (HAVE_GUI TRUE) # used in qgsconfig.h
ENDIF ()
IF ( WITH_DESKTOP AND NOT WITH_ANALYSIS )
MESSAGE (FATAL_ERROR "Desktop cannot be built without analysis" )
ENDIF ()
# try to configure and build MDAL support
SET (WITH_INTERNAL_MDAL TRUE CACHE BOOL "Determines whether MDAL support should be built" )
IF (NOT WITH_INTERNAL_MDAL)
@@ -336,16 +315,14 @@ IF(WITH_CORE)
ENDIF (WITH_QTWEBKIT)
# ############################################################
# search for Qt5
SET (QT_MIN_VERSION 5.9.0)
# Use Qt5SerialPort optionally for GPS
SET (WITH_QT5SERIALPORT TRUE CACHE BOOL "Determines whether Qt5SerialPort should be tried for GPS positioning" )
IF (WITH_QT5SERIALPORT)
FIND_PACKAGE (Qt5SerialPort REQUIRED )
# following variable is used in qgsconfig.h
SET (HAVE_QT5SERIALPORT TRUE)
ENDIF (WITH_QT5SERIALPORT)
IF (WITH_3D)
# for 3D support we strictly require Qt >= 5.9
# (Qt 3D was introduced in 5.7 but it is not stable enough in that branch)
# Qt 5.8 is missing some classes, https://github.com/qgis/QGIS/pull/5203#discussion_r142319862
SET (QT_MIN_VERSION 5.9.0)
ELSE ()
SET (QT_MIN_VERSION 5.4.0)
ENDIF ()
FIND_PACKAGE (Qt5Core QUIET )
FIND_PACKAGE (Qt5Gui REQUIRED )
FIND_PACKAGE (Qt5Widgets REQUIRED )
@@ -354,6 +331,7 @@ IF(WITH_CORE)
FIND_PACKAGE (Qt5Svg REQUIRED )
FIND_PACKAGE (Qt5Concurrent REQUIRED )
FIND_PACKAGE (Qt5PrintSupport REQUIRED )
FIND_PACKAGE (Qt5SerialPort REQUIRED )
FIND_PACKAGE (Qt5Positioning)
IF (WITH_QTWEBKIT)
FIND_PACKAGE (Qt5WebKit REQUIRED )
@@ -381,7 +359,7 @@ IF(WITH_CORE)
IF (${CMAKE_SYSTEM_NAME} MATCHES "Android" )
FIND_PACKAGE (Qt5AndroidExtras)
ELSE (${CMAKE_SYSTEM_NAME} MATCHES "Android" )
FIND_PACKAGE (QtQmlTools)
FIND_PACKAGE (QtQmlTools REQUIRED )
ENDIF (${CMAKE_SYSTEM_NAME} MATCHES "Android" )
# following variable is used in qgsconfig.h
@@ -480,15 +458,13 @@ IF (PEDANTIC)
ENDIF (NOT USING_NMAKE AND NOT USING_NINJA)
# disable warnings
SET (_warnings "${_warnings} /wd4091 " ) # 'typedef': ignored on left of '' when no variable is declared (occurs in MS DbgHelp.h header)
SET (_warnings "${_warnings} /wd4100 " ) # unused formal parameters
SET (_warnings "${_warnings} /wd4127 " ) # constant conditional expressions (used in Qt template classes)
SET (_warnings "${_warnings} /wd4190 " ) # 'identifier' has C-linkage specified, but returns UDT 'identifier2' which is incompatible with C
SET (_warnings "${_warnings} /wd4231 " ) # nonstandard extension used : 'identifier' before template explicit instantiation (used in Qt template classes)
SET (_warnings "${_warnings} /wd4244 " ) # conversion from '...' to '...' possible loss of data
SET (_warnings "${_warnings} /wd4251 " ) # needs to have dll-interface to be used by clients of class (occurs in Qt template classes)
SET (_warnings "${_warnings} /wd4275 " ) # non dll-interface class '...' used as base for dll-interface class '...'
SET (_warnings "${_warnings} /wd4290 " ) # c++ exception specification ignored except to indicate a function is not __declspec(nothrow) (occurs in sip generated bindings)
SET (_warnings "${_warnings} /wd4456 " ) # declaration of '...' hides previous local declaration
SET (_warnings "${_warnings} /wd4457 " ) # declaration of '...' hides a function parameter
SET (_warnings "${_warnings} /wd4458 " ) # declaration of '...' hides class member