<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/extras/Catch.cmake, branch devel-noexcept-funcs</title>
<subtitle>Progmasoft Catch3: an independently maintained C++17 test framework with a parallel runner, property checks, snapshots and structured results.</subtitle>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/'/>
<entry>
<title>Support TEST_{PREFIX,SUFFIX} with leading/trailing whitespace</title>
<updated>2026-08-20T14:24:18+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-08-20T12:45:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=8582805f548e3e091d8d35188f4c3a690f989b0f'/>
<id>8582805f548e3e091d8d35188f4c3a690f989b0f</id>
<content type='text'>
Closes #2149
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #2149
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix &lt;target&gt;_TESTS variable generated by `catch_discover_tests`</title>
<updated>2026-08-09T22:17:26+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-08-08T12:59:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=630840c5000ec9f5e169c8a2f5fd163d3b0c54ca'/>
<id>630840c5000ec9f5e169c8a2f5fd163d3b0c54ca</id>
<content type='text'>
There were 2 separate bugs, one recently added and one ancient
(since roughly the first version of the registration script).

1) The recent refactoring of how the JSON output from Catch2 is
   parsed caused shadowing between the variable containing the
   per-test JSON fragments and the accumulator of test names for
   &lt;target&gt;_TESTS variable. This led to the variable containing
   both the names and the JSON fragments, and thus being completely
   wrong.

2) The test name accumulation has never accounted for characters
   that need escaping to be present in a CMake list. This means
   that e.g. test names with semicolon in them would end up with
   two elements in the test list.

Both of these are now fixed, at the cost of extra complexity and
my sanity as I had to learn more about CMake escaping rules.

(CMake escaping rules are dumb)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There were 2 separate bugs, one recently added and one ancient
(since roughly the first version of the registration script).

1) The recent refactoring of how the JSON output from Catch2 is
   parsed caused shadowing between the variable containing the
   per-test JSON fragments and the accumulator of test names for
   &lt;target&gt;_TESTS variable. This led to the variable containing
   both the names and the JSON fragments, and thus being completely
   wrong.

2) The test name accumulation has never accounted for characters
   that need escaping to be present in a CMake list. This means
   that e.g. test names with semicolon in them would end up with
   two elements in the test list.

Both of these are now fixed, at the cost of extra complexity and
my sanity as I had to learn more about CMake escaping rules.

(CMake escaping rules are dumb)
</pre>
</div>
</content>
</entry>
<entry>
<title>Document that DISCOVERY_MODE PRE_TEST should be used with catch_discover_tests when used with XCode.</title>
<updated>2026-07-22T18:50:17+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2026-07-10T15:42:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=eb431764b4cb9b6fa2296a034b4231064f8e464e'/>
<id>eb431764b4cb9b6fa2296a034b4231064f8e464e</id>
<content type='text'>
This addresses https://github.com/catchorg/Catch2/issues/2411 by making the "workaround" the official approach and is consistent with how gtest and cmake deal with the same situation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This addresses https://github.com/catchorg/Catch2/issues/2411 by making the "workaround" the official approach and is consistent with how gtest and cmake deal with the same situation.
</pre>
</div>
</content>
</entry>
<entry>
<title>catch_discover_tests uses tempfile to retrieve JSON from the binary</title>
<updated>2026-07-04T14:36:05+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-07-04T14:35:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9ec44dd62b1b593e01feaf95eb485d26fcdd50ce'/>
<id>9ec44dd62b1b593e01feaf95eb485d26fcdd50ce</id>
<content type='text'>
This allows it to deal with badly behaved code, where 3rd party
dependencies write into stdout during global construction.

Closes #3162
Closes #3166
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows it to deal with badly behaved code, where 3rd party
dependencies write into stdout during global construction.

Closes #3162
Closes #3166
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix formatting of CMake files</title>
<updated>2025-04-26T16:38:36+00:00</updated>
<author>
<name>Chris Thrasher</name>
</author>
<published>2025-04-08T04:09:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=8cfca70ae879ba59699b224e8d371b8bb9fa12ff'/>
<id>8cfca70ae879ba59699b224e8d371b8bb9fa12ff</id>
<content type='text'>
2 spaces seems to be the more common indentation level so that's what
I unified around.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2 spaces seems to be the more common indentation level so that's what
I unified around.
</pre>
</div>
</content>
</entry>
<entry>
<title>Support adding test tags as CTest labels in catch_discover_tests</title>
<updated>2025-01-05T19:02:00+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-01-03T09:30:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=7d7b2f89f24cbd277f6eb6912705e5e13c68a3c7'/>
<id>7d7b2f89f24cbd277f6eb6912705e5e13c68a3c7</id>
<content type='text'>
We also bump the minimum CMake version to 3.20 as per #2943
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We also bump the minimum CMake version to 3.20 as per #2943
</pre>
</div>
</content>
</entry>
<entry>
<title>Catch.cmake: Remove redundant CTEST_FILE param</title>
<updated>2024-11-22T10:05:50+00:00</updated>
<author>
<name>Holger Kaelberer</name>
</author>
<published>2024-11-19T14:47:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=0321d2fce328b5e2ad106a8230ff20e0d5bf5501'/>
<id>0321d2fce328b5e2ad106a8230ff20e0d5bf5501</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use SKIP_RETURN_CODE test property in catch_discover_tests</title>
<updated>2024-09-17T07:35:43+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-09-16T20:18:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=79f2d66ea3f018c00ed78b1ed89806e6f86b1ef0'/>
<id>79f2d66ea3f018c00ed78b1ed89806e6f86b1ef0</id>
<content type='text'>
I also added `SKIP_IS_FAILURE` option to the `catch_discover_tests`
function, to allow users to get back the old behaviour.

Closes #2873
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I also added `SKIP_IS_FAILURE` option to the `catch_discover_tests`
function, to allow users to get back the old behaviour.

Closes #2873
</pre>
</div>
</content>
</entry>
<entry>
<title>Add optional argument to catch_discover_tests to set DYLD_FRAMEWORK_PATH (#2880)</title>
<updated>2024-07-22T17:25:24+00:00</updated>
<author>
<name>Andy Phillips</name>
</author>
<published>2024-07-22T17:25:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=85b7f3d6abbf11cfde34e274180a5539d2ac8bfe'/>
<id>85b7f3d6abbf11cfde34e274180a5539d2ac8bfe</id>
<content type='text'>
* Added optional argument to catch_discover_tests to set the DYLD_FRAMEWORK_PATH environment variable on Apple platforms.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Added optional argument to catch_discover_tests to set the DYLD_FRAMEWORK_PATH environment variable on Apple platforms.
</pre>
</div>
</content>
</entry>
<entry>
<title>Catch.cmake: Support CMake multi-config with PRE_TEST discovery mode (#2739)</title>
<updated>2023-09-25T17:40:35+00:00</updated>
<author>
<name>Holger Kaelberer</name>
</author>
<published>2023-09-25T17:40:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=7b793314e557bd1ff0138e89fcb9271f914b7655'/>
<id>7b793314e557bd1ff0138e89fcb9271f914b7655</id>
<content type='text'>
Closes #2746 

---------

Co-authored-by: Holger Kaelberer &lt;Holger.Kaelberer@bmw.de&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #2746 

---------

Co-authored-by: Holger Kaelberer &lt;Holger.Kaelberer@bmw.de&gt;</pre>
</div>
</content>
</entry>
</feed>
