summaryrefslogtreecommitdiffstats
path: root/cmake/ClangTidy.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/ClangTidy.cmake')
-rw-r--r--cmake/ClangTidy.cmake16
1 files changed, 16 insertions, 0 deletions
diff --git a/cmake/ClangTidy.cmake b/cmake/ClangTidy.cmake
new file mode 100644
index 0000000..b596f78
--- /dev/null
+++ b/cmake/ClangTidy.cmake
@@ -0,0 +1,16 @@
+option(BUILD_WITH_CLANG_TIDY "Build with clang-tidy for extra warnings" OFF)
+
+if (BUILD_WITH_CLANG_TIDY)
+ include(ClangDetectTool)
+ clang_detect_tool(CLANG_TIDY_EXE clang-tidy REQUIRED)
+
+ set(CLANG_TIDY_COMMAND "${CLANG_TIDY_EXE}" --config-file=${CMAKE_SOURCE_DIR}/.clang-tidy)
+
+ set(CMAKE_C_CLANG_TIDY "${CLANG_TIDY_COMMAND}" --extra-arg=-std=gnu11)
+ set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_COMMAND}" --extra-arg=-std=gnu++17)
+ set(CMAKE_OBJC_CLANG_TIDY "${CLANG_TIDY_COMMAND}")
+else()
+ unset(CMAKE_C_CLANG_TIDY)
+ unset(CMAKE_CXX_CLANG_TIDY)
+ unset(CMAKE_OBJC_CLANG_TIDY)
+endif()