From c9a37c59c471aaa6546ac43e4fc0898e471dc5dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Ho=C5=99e=C5=88ovsk=C3=BD?= Date: Wed, 15 Feb 2017 10:42:11 +0100 Subject: [PATCH] Added `CATCH_CONFIG_FAST_COMPILE` to documentation. --- docs/configuration.md | 4 ++++ docs/slow-compiles.md | 2 ++ 2 files changed, 6 insertions(+) diff --git a/docs/configuration.md b/docs/configuration.md index 3c97ed8..76d8b7f 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -74,9 +74,13 @@ All C++11 support can be disabled with `CATCH_CONFIG_NO_CPP11` CATCH_CONFIG_COUNTER // Use __COUNTER__ to generate unique names for test cases CATCH_CONFIG_WINDOWS_SEH // Enable SEH handling on Windows + CATCH_CONFIG_FAST_COMPILE // Sacrifices some (extremely minor) features for compilation speed Currently Catch enables `CATCH_CONFIG_WINDOWS_SEH` only when compiled with MSVC, because some versions of MinGW do not have the necessary Win32 API supports. +At this moment, `CATCH_CONFIG_FAST_COMPILE` changes only the behaviour of the `-b` (`--break`) flag, making it break into debugger in a stack frame *below* the actual test, unlike the default behaviour, where the break into debugger occurs in the same stack frame as the actual test. `CATCH_CONFIG_FAST_COMPILE` has to be either defined, or not defined, in all translation units that are linked into single test binary, or the behaviour of setting `-b` flag will be unpredictable. + + Just as with the C++11 conformance toggles, these toggles can be disabled by using `_NO_` form of the toggle, e.g. `CATCH_CONFIG_NO_WINDOWS_SEH`. # Windows header clutter diff --git a/docs/slow-compiles.md b/docs/slow-compiles.md index c044830..a12d086 100644 --- a/docs/slow-compiles.md +++ b/docs/slow-compiles.md @@ -56,6 +56,8 @@ tests-factorial.cpp:11: failed: Factorial(0) == 1 for: 0 == 1 Failed 1 test case, failed 1 assertion. ``` +## Other possible solutions +You can also opt to sacrifice some features in order to speed-up Catch's compilation times. For details see the [documentation on Catch's compile-time configuration](configuration.md#other-toggles). ---