Commit Graph
238 Commits
Author SHA1 Message Date
Martin Hořeňovský 88abf9bf32 v3.12.0 2025-12-28 22:31:54 +01:00
Martin Hořeňovský b3fb4b9fea v3.11.0 2025-09-30 10:54:31 +02:00
Martin Hořeňovský b626e4c7ae Add simple runtime benchmarks
For now we add just two binaries, one with assertions taking the
fast path, one with assertions taking the slow path, and the ability
to run 1 of `REQUIRE(true)`, `REQUIRE_NOTHROW`, `REQUIRE_THROWS`
in a loop.

I also split off a CMake preset which enables more tests than the
basic `simple-tests` preset, but does not enable the most expensive
tests which force recompilation of Catch2 multiple times.
2025-09-23 17:17:33 +02:00
Martin Hořeňovský 25319fd304 v3.10.0 2025-08-25 21:30:21 +02:00
Martin Hořeňovský 78a9518a28 Don't add / to start of pkg-config file path when DESTDIR is unset
This broke installation on Windows, because the suddenly started
with a '/' instead of a drive letter.

Closes #3019
2025-08-21 20:58:55 +02:00
Martin Hořeňovský 7cad6d7539 Handle DESTDIR env var when generating pkgconfig files
Having the ability to configure the installation path at config
time, and the ability to change the prefix at install time is not
enough, apparently people also use env var to redirect them instead.

Closes #3006
2025-08-09 23:05:18 +02:00
Martin Hořeňovský 644821ce28 v3.9.1 2025-08-09 00:30:23 +02:00
Martin Hořeňovský fee81626d2 v3.9.0 2025-07-24 22:01:46 +02:00
Martin Hořeňovský 050e14dce0 Disable Wmissing-noreturn for test files
Adding unreachable to `FAIL` and `SKIP` made Clang become very good
at figuring out that tests of `FAIL` and `SKIP` will never return
and thus could be marked as [[noreturn]].

To avoid introducing lot of warning suppression noise into the
test files, we just disable it instead.
2025-07-14 12:15:25 +02:00
Martin Hořeňovský 3839e27f05 Generate pkg-config files at install time
This enables us to generate pkg-config with proper paths if the
installation prefix is decided at install time, e.g. with
```
cmake --install build-dir --prefix /path/to/somewhere
```

It also means that we can use CMake's generator expression to get
the _real_ final name of the libraries, e.g. including debug postfix.

Closes #2979
2025-07-10 16:39:46 +02:00
Eisuke Kawashima 334827eb53 Replace deprecated FindPythonInterp with FindPython3
fix #2755

https://cmake.org/cmake/help/v3.16/module/FindPythonInterp.html
2025-06-15 13:23:27 -06:00
Chris Thrasher 8cfca70ae8 Fix formatting of CMake files
2 spaces seems to be the more common indentation level so that's what
I unified around.
2025-04-26 10:38:36 -06:00
Chris Thrasher 2b60af89e2 v3.8.1 2025-04-08 12:40:18 -06:00
Martin Hořeňovský 914aeecfe2 v3.8.0 2025-01-06 00:41:45 +01:00
Martin Hořeňovský 232e893785 Downgrade required CMake to 3.16
We still want to build VS 2017 through AppVeyor, and those images
have CMake 3.16.2 installed. We could install newer CMake as part
of the build, but since we don't use newer CMake features yet, this
is simpler.
2025-01-05 23:45:00 +01:00
Martin Hořeňovský 7d7b2f89f2 Support adding test tags as CTest labels in catch_discover_tests
We also bump the minimum CMake version to 3.20 as per #2943
2025-01-05 20:02:00 +01:00
Martin Hořeňovský 9c5a4cf44e Enable CMake project folders for better target organization
Closes #2917
2024-10-27 23:07:55 +01:00
Martin Hořeňovský fa43b77429 v3.7.1 2024-09-17 10:45:43 +02:00
Martin Hořeňovský 31588bb4f5 v3.7.0 2024-08-14 12:05:21 +02:00
Martin Hořeňovský 4e8d92bf02 v3.6.0 2024-05-05 20:58:18 +02:00
Chris Thrasher 838f8d71cb Remove unnecessary CMake variables (#2853)
* Remove unnecessary variable

* Remove unused variable
2024-04-11 15:39:08 +02:00
Martin Hořeňovský b5373dadca v3.5.4 2024-04-10 12:05:46 +02:00
Chris Thrasher 792c3b7549 Stop repeating conditional in endif()
This is not necessary so we can remove it. Most conditionals already
omit this anyways.
2024-03-12 22:55:12 +01:00
Martin Hořeňovský 8ac8190e49 v3.5.3 2024-03-01 22:07:10 +01:00
Martin Hořeňovský 05e10dfccc v3.5.2 2024-01-15 14:13:53 +01:00
Martin Hořeňovský f981c9cbca v3.5.1 2023-12-31 15:15:04 +01:00
Jan Palus 1512dac7e4 Make compiler flags for reproducible builds optional
no change in default behavior: -ffile-prefix-map is still added if
supported by compiler but add option for disabling it as it breaks
generic tools for extracting debuginfo/debugsource from build artifacts
like: https://sourceware.org/git/?p=debugedit.git;a=blob;f=scripts/find-debuginfo.in
2023-12-28 00:41:54 +01:00
Martin Hořeňovský 53d0d913a4 v3.5.0 2023-12-11 00:55:40 +01:00
Martin Hořeňovský 6e79e682b7 v3.4.0 2023-07-13 13:37:30 +02:00
Martin Hořeňovský c8363143e7 Add test scaffolding for catch_discover_tests 2023-06-14 21:14:33 +02:00
Bob Miller 6783411349 Fixed extras installation and shard impl location 2023-03-14 18:31:38 +01:00
Martin Hořeňovský 3f0283de7a v3.3.2 2023-02-27 15:12:49 +01:00
Martin Hořeňovský 2ab20a0e00 v3.3.1 2023-01-29 23:18:57 +01:00
Martin Hořeňovský c837cb4a8a v3.3.0 2023-01-22 19:53:12 +01:00
Martin Hořeňovský ab6c7375be v3.2.1 2022-12-09 23:10:18 +01:00
Martin Hořeňovský 65cc7fd2ae v3.2.0 2022-11-16 20:05:48 +01:00
Martin Hořeňovský 5df88da16e 3.1.1 2022-10-17 19:57:58 +02:00
Dimitrij Mijoski 98d37da03e Raise the minimum CMake version to 3.10 (#2523) 2022-09-16 17:56:00 +02:00
Damjan Jelas 47d56f28a9 Fix compatibility with cmake 3.8 2022-08-04 00:09:02 +02:00
Martin Hořeňovský 97c48e0c34 v3.1.0 2022-07-17 20:18:44 +02:00
Martin Hořeňovský 078201fcf4 Remove HOMEPAGE_URL from project call
Closes #2428
2022-06-16 22:16:44 +02:00
Martin Hořeňovský 605a34765a v3.0.1 2022-05-17 22:13:36 +02:00
Martin Hořeňovský abb669d4fd Extend project call for Catch2
This provides some extra metadata for CPack and related tools.
2022-05-17 22:12:44 +02:00
Martin Hořeňovský 745cc82cd3 Remove some old commented out CMake code 2022-04-28 10:53:03 +02:00
Martin Hořeňovský 07dfb4b070 Update PARENT_SCOPE cmake module path with path to extras/
This allows projects including us directly to do e.g.
`include(Catch)` and get access to the test autoregistration
CMake scripts. Note that this inclusion can be done directly
through `add_subdirectory`, or indirectly via `FetchContent`.

Closes #1805
Closes #2026
Closes #2130
2022-04-28 10:52:16 +02:00
Martin Hořeňovský 5e86ead366 Exclude doxygen docs from documentation install step
We might want to keep them in at some point, but currently the
doxygen docs are very incomplete and unfinished.
2022-04-27 14:57:59 +02:00
Martin Hořeňovský 90e6905050 Remove no longer used CATCH_USE_VALGRIND cmake option 2022-04-18 12:14:21 +02:00
Martin Hořeňovský 72f0372664 Add tests for CMake configure toggles passing to Catch2 build 2022-02-20 19:32:30 +01:00
Martin Hořeňovský 33ffc3b6fc Allow passing compile-time configuration options through CMake 2022-02-18 11:15:08 +01:00
Martin Hořeňovský 39d3de17f3 Fix mentions of CATCH_INSTALL_HELPERS
Fixes #2347
2022-01-06 23:37:44 +01:00