diff options
| author | Martin Hořeňovský | 2023-02-22 20:11:00 +0100 |
|---|---|---|
| committer | Martin Hořeňovský | 2023-02-22 20:11:45 +0100 |
| commit | a209bcfb54f493dc199baf315bd468491a0ceccd (patch) | |
| tree | 616f626e9f3083b7efa6ca8dd14c3267357f0127 /docs | |
| parent | 584973a485160bea0feb8764c28bb65d03b988ac (diff) | |
| download | catch3-a209bcfb54f493dc199baf315bd468491a0ceccd.tar.gz | |
Update build instructions in contributing.md
We now show the more modern `-S {source}` instead of the old and
undocumented `-H{source}` CMake flag, and also show the available
presets, instead of individually specifying the different testing
options.
Closes #2593
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/contributing.md | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/docs/contributing.md b/docs/contributing.md index a4c9220b..d9f87fc1 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -55,6 +55,15 @@ tests from `SelfTest` through a specific reporter and then compare the generated output with a known good output ("Baseline"). By default, new tests should be placed here. +To configure a Catch2 build with just the basic tests, use the `basic-tests` +preset, like so: + +``` +# Assuming you are in Catch2's root folder + +cmake -B basic-test-build -S . -DCMAKE_BUILD_TYPE=Debug --preset basic-tests +``` + However, not all tests can be written as plain unit tests. For example, checking that Catch2 orders tests randomly when asked to, and that this random ordering is subset-invariant, is better done as an integration @@ -76,21 +85,23 @@ configuration and require separate compilation. Finally, CMake config tests test that you set Catch2's compile-time configuration options through CMake, using CMake options of the same name. -None of these tests are enabled by default. To enable them, add +These test categories can be enabled one by one, by passing `-DCATCH_BUILD_EXAMPLES=ON`, `-DCATCH_BUILD_EXTRA_TESTS=ON`, and -`-DCATCH_ENABLE_CONFIGURE_TESTS=ON` when configuration the CMake build. +`-DCATCH_ENABLE_CONFIGURE_TESTS=ON` when configuring the build. + +Catch2 also provides a preset that promises to enable _all_ test types, +`all-tests`. -Bringing this all together, the steps below should configure, build, -and run all tests in the `Debug` compilation. +The snippet below will build & run all tests, in `Debug` compilation mode. <!-- snippet: catch2-build-and-test --> <a id='snippet-catch2-build-and-test'></a> ```sh -# 1. Regenerate the amalgamated distribution +# 1. Regenerate the amalgamated distribution (some tests are built against it) ./tools/scripts/generateAmalgamatedFiles.py # 2. Configure the full test build -cmake -Bdebug-build -H. -DCMAKE_BUILD_TYPE=Debug -DCATCH_DEVELOPMENT_BUILD=ON -DCATCH_BUILD_EXAMPLES=ON -DCATCH_BUILD_EXTRA_TESTS=ON +cmake -B debug-build -S . -DCMAKE_BUILD_TYPE=Debug --preset all-tests # 3. Run the actual build cmake --build debug-build |