diff options
author | Ray Molenkamp <github@lazydodo.com> | 2020-12-03 21:00:58 +0300 |
---|---|---|
committer | Ray Molenkamp <github@lazydodo.com> | 2020-12-03 21:00:58 +0300 |
commit | f637b47064237683343f00190a1438638058e92e (patch) | |
tree | 138ef03a813db5b465a458e72c76e105d58a2321 /build_files/cmake/platform/platform_win32.cmake | |
parent | 769818f7f44341511f17925f41535a06f2224558 (diff) |
MSVC: Enable clang-tidy analyser
This enables the use of clang-tidy in the VS IDE.
To use it:
1 - Enable WITH_CLANG_TIDY in your cmake configuration
2 - From the Analyse pull down menu select Run Code Analysis on...
The analyser is currently not enabled by default on build
given it is quite slow and there are quite a few problems
it reports that we still need to deal with.
Diffstat (limited to 'build_files/cmake/platform/platform_win32.cmake')
-rw-r--r-- | build_files/cmake/platform/platform_win32.cmake | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index 3954a5f143c..dd8b286c689 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -239,9 +239,24 @@ if(NOT EXISTS "${LIBDIR}/") message(FATAL_ERROR "\n\nWindows requires pre-compiled libs at: '${LIBDIR}'. Please run `make update` in the blender source folder to obtain them.") endif() +if(CMAKE_GENERATOR MATCHES "^Visual Studio.+" AND # Only supported in the VS IDE + MSVC_VERSION GREATER_EQUAL 1924 AND # Supported for 16.4+ + WITH_CLANG_TIDY # And Clang Tidy needs to be on + ) + set(CMAKE_VS_GLOBALS + "RunCodeAnalysis=false" + "EnableMicrosoftCodeAnalysis=false" + "EnableClangTidyCodeAnalysis=true" + ) + set(VS_CLANG_TIDY On) +endif() + # Mark libdir as system headers with a lower warn level, to resolve some warnings # that we have very little control over -if(MSVC_VERSION GREATER_EQUAL 1914 AND NOT MSVC_CLANG AND NOT WITH_WINDOWS_SCCACHE) +if(MSVC_VERSION GREATER_EQUAL 1914 AND # Available with 15.7+ + NOT MSVC_CLANG AND # But not for clang + NOT WITH_WINDOWS_SCCACHE AND # And not when sccache is enabled + NOT VS_CLANG_TIDY) # Clang-tidy does not like these options add_compile_options(/experimental:external /external:templates- /external:I "${LIBDIR}" /external:W0) endif() |