tornavis/build_files
Sergey Sharybin 9ea5469178 Initial support of clang-tidy toolchain
Clang Tidy is a Clang based "linter" tool which goal is to help
fixing typical programming errors.

It is run as a separate compile step of every file, which slows
compilation down but allows to fully analyze the file the same
way as compiler does and catch non-trivial bugprone cases.

This change includes:

- CMake option called `WITH_CLANG_TIDY` which enables Clang Tidy
  linter tool on all source in the `source/` directory.

  This option is only available on Linux, as it is currently the
  easiest platform to get the Clang Tidy toolchain to work.

- CMake module which is aimed to find latest available Clang Tidy.

- Set of rules which allows to have Blender fully compiled without
  extra issues.

The goal of this change is to provide a base ground so that solving
all the warnings can happen later on, as a team effort.

It should be possible to use Clang Tidy side-by-side with both GCC
and Clang, but there seems to be some tweaks to be done in CMake to
make it really work for Blender. For now use Clang toolchain if
there are issues with GCC+Clang Tidy.

It will be worked on in the nearest future to bring seamless
experience for all configurations.

Currently there is no official way of getting Clang Tidy on macOS,
and on Windows there are some difficulties of hooking up Clang Tidy
from LLVM package to the MSVC compiler toolchain.

The actual warnings in the code will be addressed as a part of the
Code Quality Days, task T78535.

Differential Revision: https://developer.blender.org/D7937
2020-07-03 09:57:41 +02:00
..
build_environment Build: disable OpenXR in make deps for macOS, it's not supported 2020-06-30 18:12:08 +02:00
buildbot Codesign: Wait for unsigned directory to appear 2020-06-30 11:21:00 +02:00
cmake Initial support of clang-tidy toolchain 2020-07-03 09:57:41 +02:00
package_spec Fix T63805: remove outdated and unused Linux package spec files 2020-01-27 12:22:01 +01:00
utils Blender: change bugfix release versioning from a/b/c to .1/.2/.3 2020-05-29 17:48:26 +02:00
windows Windows: Add sccache support. 2020-04-20 12:51:43 -06:00