Patches to Bf Blender for CAD development. https://tornavis.org/
Go to file
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
.github Add Probot Stale configuration file 2019-10-11 14:13:29 +02:00
build_files Initial support of clang-tidy toolchain 2020-07-03 09:57:41 +02:00
doc PyDoc: Update Python Package Requirements 2020-06-26 13:24:53 -04:00
extern Fix T78170: Mantaflow Crash | Whitewater Particles Baking 2020-06-26 18:29:43 +02:00
intern Cleanup: spelling 2020-07-03 11:58:13 +10:00
release UI: Add Edge Loopcut Slide to edge menu 2020-07-02 20:33:49 -04:00
source Initial support of clang-tidy toolchain 2020-07-03 09:57:41 +02:00
tests Fix compile error 2020-06-30 18:32:38 +02:00
.arcconfig Fix .arcconfig not working with latest arcanist version 2020-03-01 22:35:31 +01:00
.clang-format BLI: generally improve C++ data structures 2020-06-09 10:15:43 +02:00
.clang-tidy Initial support of clang-tidy toolchain 2020-07-03 09:57:41 +02:00
.editorconfig editorconfig: correct indent size 2019-04-17 13:34:46 +02:00
.gitignore Fluid: Added wavelet noise tile to the gitignore 2020-01-29 19:21:52 +01:00
.gitmodules Update for moving blender2.8 to master. 2018-12-21 12:15:21 +01:00
CMakeLists.txt Initial support of clang-tidy toolchain 2020-07-03 09:57:41 +02:00
COPYING == docs == 2010-10-13 14:44:22 +00:00
GNUmakefile Build: show helpful error when accidentally using GNUMakefile on Windows 2020-06-26 11:55:34 +02:00
make.bat Build: add "make test" command for Windows, output log file 2019-09-12 20:23:03 +02:00
readme.rst readme: separate development links 2019-04-13 14:45:51 +02:00

readme.rst

.. Keep this document short & concise,
   linking to external resources instead of including content in-line.
   See 'release/text/readme.html' for the end user read-me.


Blender
=======

Blender is the free and open source 3D creation suite.
It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing,
motion tracking and video editing.

.. figure:: https://code.blender.org/wp-content/uploads/2018/12/springrg.jpg
   :scale: 50 %
   :align: center


Project Pages
-------------

- `Main Website <http://www.blender.org>`__
- `Reference Manual <https://docs.blender.org/manual/en/latest/index.html>`__
- `User Community <https://www.blender.org/community/>`__

Development
-----------

- `Build Instructions <https://wiki.blender.org/wiki/Building_Blender>`__
- `Code Review & Bug Tracker <https://developer.blender.org>`__
- `Developer Forum <https://devtalk.blender.org>`__
- `Developer Documentation <https://wiki.blender.org>`__


License
-------

Blender as a whole is licensed under the GNU Public License, Version 3.
Individual files may have a different, but compatible license.

See `blender.org/about/license <https://www.blender.org/about/license>`__ for details.