Commit Graph

202 Commits

Author SHA1 Message Date
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
Martin Hořeňovský 0fdee1c273
Stop declaring compiled Catch2 artifacts as arch independent 2021-10-25 14:46:54 +02:00
Daniel Edwards aba114d6fe Don't include CTest in non-development builds.
When Catch2 is used as a CMake subproject (via add_subdirectory) and is not built in development mode (CATCH_DEVELOPMENT_BUILD) CTest is not required for the build, as testing is off. When CTest is included it creates various targets (around 20) which are shown in IDEs such as Clion and pollute the list of configurations.

This patch conditionally includes CTest only if Catch2 is built in development mode.
2021-05-29 16:24:44 +02:00
Clare Macrae 2dc5a5f402
Prepare to prevent Catch2 v3's tests from being run, and CTest targets from being added, if Catch2 is configured as a sub-project. (#2205)
This commit fixes issue that happens if the project above us uses the same variable name, thus confusing our script which see the variable scoped from the project including Catch2, rather than ours

See #2202
2021-04-16 21:19:58 +02:00
Martin Hořeňovský 8b27041fbe
Add CMake option to generate surrogate TUs in development build
A surrogate TU is TU that includes 1 specific header, and does
nothing else. This is useful to verify that the header is
self-sufficient and does not require other headers to be included
for compilation to succeed.

Closes #2106
Closes #2166 (this is a better solution)
2021-02-19 23:22:39 +01:00
AMS21 b8ae2878b4
Enable IPO for CMake versions that support it 2020-11-01 09:36:42 +00:00
Paul Dreik 0098a76fef first take basing fuzz on v3 2020-10-07 17:38:27 +02:00
Martin Hořeňovský db32550898
Remove catch_default_main.hpp
There are two reasons for this:

1) It is highly unlikely that someone has use for this header,
which has no customization points and only provides simplest
possible main, and cannot link the static library which also
provides a default main implementation.
2) It being a header was causing extra complications with
the convenience headers, and our checking script. This would either
require special handling in the checking script, or would break user's
of the main convenience header.

All in all, it is simpler and better in the long term to remove it,
than to fix its problems.
2020-05-09 18:00:49 +02:00
Martin Hořeňovský 9766a7b200
Fix installation of extra utilities 2020-05-06 21:21:08 +02:00
Martin Hořeňovský 2ccc48e108
Require Python3 for running tests 2020-05-06 14:56:33 +02:00
Martin Hořeňovský 19ecad6f68
Rename CMake/pkg-config target Catch2Main to Catch2WithMain
This describes the reality better, as it also links in the rest
of Catch2.

The on-disk name of the static library remains just `Catch2Main`,
as that is what it is -- single main function -- and on-disk artifacts
cannot describe link dependencies.
2020-05-03 18:54:38 +02:00
Martin Hořeňovský d776a93a39
Development build defaults to off 2020-04-25 18:18:45 +02:00
Martin Hořeňovský 121f04ffcf
Update Catch2-provided pkg-config
Also fixes an installation issue, where some installation steps
would not properly pick up `CMAKE_INSTALL_PREFIX` when set.
2020-03-18 10:51:35 +01:00
Martin Hořeňovský 6e270958a2
Add development build option to CMake and enable it on CI
Development build enables warnings and and `Werror` or equivalent.
2020-02-26 16:07:26 +01:00
Martin Hořeňovský 2f4a7dda68
Have the in-development version report as v3.0.0
Because some of the tooling used by Catch2 does not properly support
version postfixes, such as `preview-1`, we will report the
in-development version is `v3.0.0`, and the first real release will
have to be `v3.0.1`.

Closes #1824
2020-01-25 09:15:46 +01:00
Martin Hořeňovský 68cf4ca883
Add back coverage CMake option 2019-12-18 17:31:10 +01:00
Martin Hořeňovský add7068f21
Fixup installation 2019-12-16 22:33:56 +01:00
Martin Hořeňovský 5fbf04cd59
Redo how the separate compilation tests are handled 2019-12-15 20:33:39 +01:00
Martin Hořeňovský 8b42acc328
Reintegrate extra tests 2019-12-09 10:04:26 +01:00
Martin Hořeňovský 29b441949c
Port the last example 2019-12-08 20:58:52 +01:00
Martin Hořeňovský 70ef2f7f12
Update building of examples for static lib 2019-12-08 15:55:04 +01:00
Martin Hořeňovský 918aa327fa
Rename contrib/ to extras/ 2019-12-05 16:24:57 +01:00
Martin Hořeňovský 0fea081ad1
Move tests from projects/ to tests/ 2019-12-05 16:00:20 +01:00
Martin Hořeňovský e341b11467
WIP: CMake changes to build static lib + tests separately 2019-11-30 17:41:41 +01:00
Jozef Grajciar 87b745da66
v2.10.2 2019-10-24 18:41:25 +02:00
Martin Hořeňovský a2c8dce85c
v2.10.1 2019-10-20 21:03:22 +02:00
Martin Hořeňovský 01ef7076f5
Allow in-tree builds where Catch2 is just a subproject
Closes #1773
Closes #1774
2019-10-18 18:49:44 +02:00
Martin Hořeňovský 7c9f92bc1c
v2.10.0 2019-10-13 23:44:18 +02:00
Martin Hořeňovský ce42deb72f
Add Android's log library to Catch2's CMake interface 2019-08-10 20:51:15 +02:00
Martin Hořeňovský 2c869e17e4
v2.9.2 2019-08-08 14:05:24 +02:00
Martin Hořeňovský 7eea3ab245
Actually fix the CMake platform-independence problem 2019-06-17 19:41:17 +02:00
Martin Hořeňovský 33286fdc37
Fix bug with making arch-independent CMake config file
Closes #1660
2019-06-17 19:08:16 +02:00
Martin Hořeňovský 2f631bb808
v2.9.1 2019-06-17 12:02:14 +02:00
Martin Hořeňovský f9dce28e7d
v2.9.0 2019-06-16 10:42:59 +02:00
Martin Hořeňovský 00347f1e79
v2.8.0 2019-05-26 22:47:00 +02:00
Michał Janiszewski bfb4ee1597
Prevent building in source dir
Fixes #1636
2019-05-21 06:38:06 +02:00
Martin Hořeňovský 7c37501b07
v2.7.2 2019-04-22 23:15:59 +02:00