@@ -196,36 +196,31 @@ SET(QT_USE_QTXML 1)
196196SET (QT_USE_QTNETWORK 1)
197197SET (QT_USE_QTSVG 1)
198198SET (QT_USE_QTSQL 1)
199+ SET (QT_USE_QTWEBKIT 1)
199200
200- IF (NOT QT_QTXML_FOUND OR NOT QT_QTNETWORK_FOUND OR NOT QT_QTSVG_FOUND OR NOT QT_QTSQL_FOUND)
201+ IF (NOT QT_QTXML_FOUND OR NOT QT_QTNETWORK_FOUND OR NOT QT_QTSVG_FOUND OR NOT QT_QTSQL_FOUND OR NOT QT_QTWEBKIT_FOUND )
201202 MESSAGE (SEND_ERROR "Some Qt4 modules haven't been found!" )
202- ENDIF (NOT QT_QTXML_FOUND OR NOT QT_QTNETWORK_FOUND OR NOT QT_QTSVG_FOUND OR NOT QT_QTSQL_FOUND)
203-
204- IF (WITH_DESKTOP)
205- SET (QT_USE_QTWEBKIT 1)
206-
207- IF (NOT QT_QTWEBKIT_FOUND)
208- MESSAGE (SEND_ERROR "Qt Webkit module required for QGIS Desktop!" )
209- ENDIF (NOT QT_QTWEBKIT_FOUND)
210- ENDIF (WITH_DESKTOP)
203+ ENDIF (NOT QT_QTXML_FOUND OR NOT QT_QTNETWORK_FOUND OR NOT QT_QTSVG_FOUND OR NOT QT_QTSQL_FOUND OR NOT QT_QTWEBKIT_FOUND)
211204
212205IF (ANDROID)
213- SET (DEFAULT_WITH_TOUCH TRUE )
206+ SET (DEFAULT_WITH_TOUCH TRUE )
214207ELSE (ANDROID)
215- SET (DEFAULT_WITH_TOUCH FALSE )
208+ SET (DEFAULT_WITH_TOUCH FALSE )
216209ENDIF (ANDROID)
210+
217211#Add a touch mode if Qt has Qt Gestures (starting from 4.6)
218212IF ( (QT_VERSION_MAJOR EQUAL 4 AND QT_VERSION_MINOR GREATER 5) OR QT_VERSION_MAJOR GREATER 4 )
219- SET (WITH_TOUCH ${DEFAULT_WITH_TOUCH} CACHE BOOL "Determines if touch interface related code should be build" )
213+ SET (WITH_TOUCH ${DEFAULT_WITH_TOUCH} CACHE BOOL "Determines if touch interface related code should be build" )
220214ELSE ( (QT_VERSION_MAJOR EQUAL 4 AND QT_VERSION_MINOR GREATER 5) OR QT_VERSION_MAJOR GREATER 4 )
221- SET (WITH_TOUCH FALSE )
215+ SET (WITH_TOUCH FALSE )
222216ENDIF ( (QT_VERSION_MAJOR EQUAL 4 AND QT_VERSION_MINOR GREATER 5) OR QT_VERSION_MAJOR GREATER 4 )
217+
223218IF (WITH_TOUCH)
224- # following variable is used in qgsconfig.h
225- SET (HAVE_TOUCH TRUE )
226- MESSAGE (STATUS "Touch support enabled" )
219+ # following variable is used in qgsconfig.h
220+ SET (HAVE_TOUCH TRUE )
221+ MESSAGE (STATUS "Touch support enabled" )
227222ELSE (WITH_TOUCH)
228- MESSAGE (STATUS "Touch support disabled" )
223+ MESSAGE (STATUS "Touch support disabled" )
229224ENDIF (WITH_TOUCH)
230225
231226IF (ENABLE_TESTS)
@@ -291,6 +286,13 @@ IF (CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES RelWithDebInfo)
291286 ADD_DEFINITIONS (-DQGISDEBUG=1)
292287ENDIF (CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES RelWithDebInfo)
293288
289+ IF (MSVC )
290+ SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -DQGISDEBUG=1" )
291+ SET (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DQGISDEBUG=1" )
292+ # disable macros that offend std::numeric_limits<T>::min()/max()
293+ ADD_DEFINITIONS (-DNOMINMAX)
294+ ENDIF (MSVC )
295+
294296#############################################################
295297# platform specific stuff
296298
@@ -459,13 +461,16 @@ SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${QGIS_OUTPUT_DIRECTORY}/${QGIS_LIB_SUBDIR})
459461
460462# write a marker with source directory path into the output's bin directory
461463# if run from the build directory QGIS will detect it and alter the paths
462- FILE (WRITE ${QGIS_OUTPUT_DIRECTORY} /${QGIS_BIN_SUBDIR} /source_path .txt "${CMAKE_SOURCE_DIR} " )
464+ FILE (WRITE ${QGIS_OUTPUT_DIRECTORY} /${QGIS_BIN_SUBDIR} /path .txt "${CMAKE_SOURCE_DIR} \n ${QGIS_OUTPUT_DIRECTORY } " )
463465
464- # symlink provider plugins dir for Mac unit tests
466+ # symlink extra provider plugin frameworks for Mac unit tests
465467IF (APPLE AND ENABLE_TESTS)
466468 EXECUTE_PROCESS (COMMAND ${CMAKE_COMMAND} -E create_symlink
467- "${CMAKE_CURRENT_BINARY_DIR} /Plugins"
468- "${CMAKE_CURRENT_BINARY_DIR} /output/Plugins" )
469+ "${CMAKE_BINARY_DIR} /Plugins/qgis/qgisgrass.framework"
470+ "${CMAKE_BINARY_DIR} /output/lib/qgisgrass.framework" )
471+ EXECUTE_PROCESS (COMMAND ${CMAKE_COMMAND} -E create_symlink
472+ "${CMAKE_BINARY_DIR} /Plugins/qgis/qgissqlanyconnection.framework"
473+ "${CMAKE_BINARY_DIR} /output/lib/qgissqlanyconnection.framework" )
469474ENDIF (APPLE AND ENABLE_TESTS)
470475
471476# manual page - makes sense only on unix systems
@@ -554,6 +559,12 @@ ADD_CUSTOM_TARGET(version ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/qgsversion.h)
554559#############################################################
555560# process subdirs
556561
562+ #create a variable to specify where our test data is
563+ #so that unit tests can use TEST_DATA_DIR to locate
564+ #the test data. See CMakeLists in test dirs for more info
565+ #TEST_DATA_DIR is also used by QgsRenderChecker currently in core
566+ SET (TEST_DATA_DIR "${CMAKE_CURRENT_SOURCE_DIR} /tests/testdata" )
567+
557568ADD_SUBDIRECTORY (src)
558569ADD_SUBDIRECTORY (doc )
559570ADD_SUBDIRECTORY (images)
@@ -565,10 +576,6 @@ IF (WITH_BINDINGS)
565576ENDIF (WITH_BINDINGS)
566577
567578IF (ENABLE_TESTS)
568- #create a variable to specify where our test data is
569- #so that unit tests can use TEST_DATA_DIR to locate
570- #the test data. See CMakeLists in test dirs for more info
571- SET (TEST_DATA_DIR "${CMAKE_CURRENT_SOURCE_DIR} /tests/testdata" )
572579 ADD_SUBDIRECTORY (tests)
573580 SET (CTEST_BINARY_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR} /output/bin" )
574581 MESSAGE (STATUS "Ctest Binary Directory set to: ${CTEST_BINARY_DIRECTORY} " )
0 commit comments