aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleix Pol <aleixpol@kde.org>2015-11-18 13:19:42 +0100
committerAleix Pol <aleixpol@kde.org>2015-11-18 13:21:24 +0100
commit8f0cbc9f8a8e3b60df6755da1d7d5369ef37b8f2 (patch)
treea9b5e9f611c1dbebde16c24bc225063d0c7f9373
parent7d6915b482820e53c46b3a68ac27d2ef8485a248 (diff)
downloadextra-cmake-modules-8f0cbc9f8a8e3b60df6755da1d7d5369ef37b8f2.tar.gz
extra-cmake-modules-8f0cbc9f8a8e3b60df6755da1d7d5369ef37b8f2.tar.bz2
Make it possible to enable Clazy on any KDE project
REVIEW: 126090
-rw-r--r--kde-modules/KDECMakeSettings.cmake18
1 files changed, 18 insertions, 0 deletions
diff --git a/kde-modules/KDECMakeSettings.cmake b/kde-modules/KDECMakeSettings.cmake
index 8e7ff359..c2786c1a 100644
--- a/kde-modules/KDECMakeSettings.cmake
+++ b/kde-modules/KDECMakeSettings.cmake
@@ -55,6 +55,15 @@
#
# Since pre-1.0.0.
#
+# ``ENABLE_CLAZY`` option is added (OFF by default) when clang is being used.
+# Turning this option on will force clang to load the clazy plugins for richer
+# warnings on Qt-related code.
+#
+# If clang is not being used, this won't have an effect.
+# See https://quickgit.kde.org/?p=clazy.git&a=blob&f=README&o=plain
+#
+# Since 5.17.0
+#
# - Uninstall target functionality since 1.7.0.
# - ``APPLE_FORCE_X11`` option since 5.14.0 (detecting X11 was previously the default behavior)
# - ``APPLE_SUPPRESS_X11_WARNING`` option since 5.14.0
@@ -217,4 +226,13 @@ if(NOT KDE_SKIP_BUILD_SETTINGS)
endif()
endif()
+
+if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+ option(ENABLE_CLAZY "Enable Clazy warnings" OFF)
+
+ if(ENABLE_CLAZY)
+ set(CMAKE_CXX_COMPILE_OBJECT "${CMAKE_CXX_COMPILE_OBJECT} -Xclang -load -Xclang ClangLazy.so -Xclang -add-plugin -Xclang clang-lazy")
+ endif()
+endif()
+
###################################################################