diff --git a/.ci/travis/linux/scripts/docker-qgis-build.sh b/.ci/travis/linux/scripts/docker-qgis-build.sh index cb60abab613..2a1cc1b7b33 100755 --- a/.ci/travis/linux/scripts/docker-qgis-build.sh +++ b/.ci/travis/linux/scripts/docker-qgis-build.sh @@ -32,7 +32,6 @@ echo "${bold}Running cmake...${endbold}" export CC=/usr/lib/ccache/clang export CXX=/usr/lib/ccache/clazy -export CLAZY_CHECKS="connect-3arg-lambda" cmake \ -GNinja \ @@ -56,11 +55,12 @@ cmake \ -DDISABLE_DEPRECATED=ON \ -DPYTHON_TEST_WRAPPER="timeout -sSIGSEGV 55s"\ -DCXX_EXTRA_FLAGS="${CLANG_WARNINGS}" \ - -DWERROR=TRUE \ + -DADD_CLAZY_CHECKS=ON \ -DQT5_3DEXTRA_LIBRARY="/usr/lib/x86_64-linux-gnu/libQt53DExtras.so" \ -DQT5_3DEXTRA_INCLUDE_DIR="/root/QGIS/external/qt3dextra-headers" \ -DCMAKE_PREFIX_PATH="/root/QGIS/external/qt3dextra-headers/cmake" \ .. +# -DWERROR=TRUE \ echo "travis_fold:end:cmake" ####### diff --git a/CMakeLists.txt b/CMakeLists.txt index 9c88c24a06a..cc8d2473c64 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -753,6 +753,14 @@ IF (WITH_CORE) SET(CMAKE_CXX_VISIBILITY_PRESET hidden) INCLUDE(GenerateExportHeader) + + SET (ADD_CLAZY_CHECKS ${DEFAULT_MANUAL_SUBDIR} CACHE STRING "Add default set of clazy checks which should not raise any warnings") + MARK_AS_ADVANCED (ADD_CLAZY_CHECKS) + IF (ADD_CLAZY_CHECKS) + SET(CMAKE_CXX_BASE_FLAGS "${CMAKE_CXX_FLAGS}") + SET(CLAZY_BASE_CHECKS "lambda-unique-connection,connect-3arg-lambda") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_BASE_FLAGS} -Xclang -plugin-arg-clazy -Xclang ${CLAZY_BASE_CHECKS}") + ENDIF (ADD_CLAZY_CHECKS) ENDIF (WITH_CORE) ############################################################# diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index e3cbad53441..865b8ba734e 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -1482,6 +1482,10 @@ IF (QT_MOBILITY_LOCATION_FOUND) TARGET_LINK_LIBRARIES(qgis_core ${QT_MOBILITY_LOCATION_LIBRARY}) ENDIF (QT_MOBILITY_LOCATION_FOUND) +IF (ADD_CLAZY_CHECKS) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_BASE_FLAGS} -Xclang -plugin-arg-clazy -Xclang ${CLAZY_BASE_CHECKS},non-pod-global-static") +ENDIF (ADD_CLAZY_CHECKS) + TARGET_LINK_LIBRARIES(qgis_core ${Qt5Xml_LIBRARIES} ${Qt5Core_LIBRARIES}