summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorAlbert Astals Cid <aacid@kde.org>2018-10-05 00:10:31 +0200
committerAlbert Astals Cid <aacid@kde.org>2018-10-05 00:10:31 +0200
commit718eb66aa4e6ab0ccbee16889534b32e0faeeb30 (patch)
tree9c1d272a8efa3da1727df6d84402fccde0a001c9 /cmake
parent9829cadbe10ad4cb468514ec68a3160e18f090bc (diff)
cmake: Set the clang warnings based on the gcc ones
Diffstat (limited to 'cmake')
-rw-r--r--cmake/modules/PopplerMacros.cmake22
1 files changed, 22 insertions, 0 deletions
diff --git a/cmake/modules/PopplerMacros.cmake b/cmake/modules/PopplerMacros.cmake
index 51cca111..08fd3d6d 100644
--- a/cmake/modules/PopplerMacros.cmake
+++ b/cmake/modules/PopplerMacros.cmake
@@ -147,6 +147,28 @@ if(CMAKE_COMPILER_IS_GNUCXX)
endif(GCC_HAS_AS_NEEDED)
endif (CMAKE_COMPILER_IS_GNUCXX)
+if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+# set the default compile warnings
+ set(_warn "-Wall -Wextra -Wpedantic")
+ set(_warn "${_warn} -Wno-unused-parameter")
+ set(_warn "${_warn} -Wcast-align")
+ set(_warn "${_warn} -Wformat-security")
+ set(_warn "${_warn} -Wframe-larger-than=65536")
+ set(_warn "${_warn} -Wmissing-format-attribute")
+ set(_warn "${_warn} -Wnon-virtual-dtor")
+ set(_warn "${_warn} -Woverloaded-virtual")
+ set(_warn "${_warn} -Wmissing-declarations")
+ set(_warn "${_warn} -Wundef")
+ set(_warn "${_warn} -Wzero-as-null-pointer-constant")
+
+ # set extra warnings
+ set(_warnx "${_warnx} -Wconversion")
+ set(_warnx "${_warnx} -Wshadow")
+
+ set(DEFAULT_COMPILE_WARNINGS "${_warn}")
+ set(DEFAULT_COMPILE_WARNINGS_EXTRA "${_warn} ${_warnx}")
+endif()
+
if(CMAKE_C_COMPILER MATCHES "icc")
set(_save_cxxflags "${CMAKE_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cxxflags}")