tornavis/intern
Sybren A. Stüvel 56aa5b0d8c T73268: Link C/C++ unit tests into single executable
This commit introduces a new way to build unit tests. It is now possible
for each module to generate its own test library. The tests in these
libraries are then bundled into a single executable.

The test executable can be run with `ctest`. Even though the tests
reside in a single executable, they are still exposed as individual
tests to `ctest`, and thus can be selected via its `-R` argument.

Not yet ported tests still build & run as before.

The following rules apply:

- Test code should reside in the same directory as the code under test.
- Tests that target functionality in `somefile.{c,cc}` should reside in
  `somefile_test.cc`.
- The namespace for tests is the `tests` sub-namespace of the code under
  test. For example, tests for `blender::bke` should be in
  `blender::bke:tests`.
- The test files should be listed in the module's `CMakeLists.txt` in a
  `blender_add_test_lib()` call. See the `blenkernel` module for an
  example.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D7649
2020-07-16 12:58:49 +02:00
..
atomic Cleanup: `make format` after SortedIncludes change 2020-03-19 09:33:58 +01:00
audaspace Cleanup: `make format` after SortedIncludes change 2020-03-19 09:33:58 +01:00
clog Cleanup: `make format` after SortedIncludes change 2020-03-19 09:33:58 +01:00
cycles Cleanup: missing CMake headers from source lists 2020-07-16 13:17:31 +10:00
dualcon Cleanup: redundant parenthesis, NULL checks 2020-04-20 12:15:49 +10:00
eigen Cleanup: `make format` after SortedIncludes change 2020-03-19 09:33:58 +01:00
ffmpeg Cleanup: `make format` after SortedIncludes change 2020-03-19 09:33:58 +01:00
ghost Cleanup: missing CMake headers from source lists 2020-07-16 13:17:31 +10:00
glew-mx ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
guardedalloc Cleanup: spelling 2020-07-10 16:04:09 +10:00
iksolver Cleanup: `make format` after SortedIncludes change 2020-03-19 09:33:58 +01:00
itasc Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
libc_compat Build: add more libc compatibility functions for upcoming libraries update 2020-07-09 18:10:05 +02:00
libmv T73268: Link C/C++ unit tests into single executable 2020-07-16 12:58:49 +02:00
locale Cleanup: `make format` after SortedIncludes change 2020-03-19 09:33:58 +01:00
mantaflow Fluid: Fix missing flag update for cache 2020-07-14 16:30:15 +02:00
memutil Cleanup: doxy comments 2020-05-09 17:36:12 +10:00
mikktspace Cleanup: `make format` after SortedIncludes change 2020-03-19 09:33:58 +01:00
numaapi Fix numaapi on PowerPC platforms 2020-01-15 11:18:24 +01:00
opencolorio OCIO: GLSL: Avoid undefined behavior 2020-06-02 16:46:38 +02:00
opensubdiv OpenSubdiv: Only store edges topology for non-smooth edges 2020-05-27 12:07:16 +02:00
openvdb Cleanup: `make format` after SortedIncludes change 2020-03-19 09:33:58 +01:00
quadriflow Quadriflow: Fix compilation error with C++17 2020-06-19 12:02:21 +02:00
rigidbody Cleanup: Spelling 2020-06-19 16:11:15 -04:00
sky Cleanup: missing CMake headers from source lists 2020-07-16 13:17:31 +10:00
utfconv Cleanup: `make format` after SortedIncludes change 2020-03-19 09:33:58 +01:00
CMakeLists.txt EEVEE: Implement the missing Sky texture 2020-07-09 17:31:36 +02:00