<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/examples/CMakeLists.txt, branch v3.8.1</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>Downgrade required CMake to 3.16</title>
<updated>2025-01-05T22:45:00+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-01-05T22:19:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=232e893785553796b2016b4440a7f3776ed450a0'/>
<id>232e893785553796b2016b4440a7f3776ed450a0</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</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>TEST_CASE_PERSISTENT_FIXTURE: A new fixture macro for allowing persistent fixtures throughout a TEST_CASE (#2885)</title>
<updated>2024-08-05T15:01:41+00:00</updated>
<author>
<name>Keith Stockdale</name>
</author>
<published>2024-08-05T15:01:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f7cd0ba0511b61592e70f07533d7ea30a8a5395d'/>
<id>f7cd0ba0511b61592e70f07533d7ea30a8a5395d</id>
<content type='text'>
This PR introduces a new `TEST_CASE` macro called `TEST_CASE_PERSISTENT_FIXTURE`. `TEST_CASE_PERSISTENT_FIXTURE` offers the same functionality as `TEST_CASE_METHOD` except for one difference. The object on which the test method is invoked is only created once for all invocations of the test case. The object is created just after the `testCaseStarting` event is broadcast and the object is destroyed just before the `testCaseEnding` event is broadcast.

The main motivation for this new functionality is to allow `TEST_CASE`s to do expensive setup and teardown once per `TEST_CASE`, without having to resort to abusing event listeners or static function variables with manual initialization.


Implements #1602

---------

Co-authored-by: Martin Hořeňovský &lt;martin.horenovsky@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR introduces a new `TEST_CASE` macro called `TEST_CASE_PERSISTENT_FIXTURE`. `TEST_CASE_PERSISTENT_FIXTURE` offers the same functionality as `TEST_CASE_METHOD` except for one difference. The object on which the test method is invoked is only created once for all invocations of the test case. The object is created just after the `testCaseStarting` event is broadcast and the object is destroyed just before the `testCaseEnding` event is broadcast.

The main motivation for this new functionality is to allow `TEST_CASE`s to do expensive setup and teardown once per `TEST_CASE`, without having to resort to abusing event listeners or static function variables with manual initialization.


Implements #1602

---------

Co-authored-by: Martin Hořeňovský &lt;martin.horenovsky@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unnecessary CMake variables (#2853)</title>
<updated>2024-04-11T13:39:08+00:00</updated>
<author>
<name>Chris Thrasher</name>
</author>
<published>2024-04-11T13:39:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=838f8d71cbcab1007158fc70cd7c50a4acbd26e2'/>
<id>838f8d71cbcab1007158fc70cd7c50a4acbd26e2</id>
<content type='text'>
* Remove unnecessary variable

* Remove unused variable</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Remove unnecessary variable

* Remove unused variable</pre>
</div>
</content>
</entry>
<entry>
<title>Fix adding Opts with | to lvalue Parser</title>
<updated>2024-01-02T22:27:13+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-01-02T22:27:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=863c662c0eff026300f4d729a7054e90d6d12cdd'/>
<id>863c662c0eff026300f4d729a7054e90d6d12cdd</id>
<content type='text'>
This is the recommended way of adding new Opts in our documentation
for using custom main, but we did not compile the code to see if it
works. We now compile the example as part of the BUILD_EXAMPLES
option.

Fixes #2787
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is the recommended way of adding new Opts in our documentation
for using custom main, but we did not compile the code to see if it
works. We now compile the example as part of the BUILD_EXAMPLES
option.

Fixes #2787
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix clang warning about redundant link libraries</title>
<updated>2023-12-28T22:54:30+00:00</updated>
<author>
<name>Chris Thrasher</name>
</author>
<published>2023-12-28T22:27:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=048d7f779657ad1879e9962a6a55537eb86e3e13'/>
<id>048d7f779657ad1879e9962a6a55537eb86e3e13</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't set C++ standard in CMakeLists for tests</title>
<updated>2022-10-29T19:04:58+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-10-28T14:01:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=82cec69e93a90293afae10d826b42aa7e716e934'/>
<id>82cec69e93a90293afae10d826b42aa7e716e934</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Raise the minimum CMake version to 3.10 (#2523)</title>
<updated>2022-09-16T15:56:00+00:00</updated>
<author>
<name>Dimitrij Mijoski</name>
</author>
<published>2022-09-16T15:56:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=98d37da03ee21e8a87cd3e0e6542c794c667e78b'/>
<id>98d37da03ee21e8a87cd3e0e6542c794c667e78b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add an example of using GENERATE(table())</title>
<updated>2020-07-22T19:49:54+00:00</updated>
<author>
<name>Richard Ash</name>
</author>
<published>2020-06-19T14:32:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=2840ce1e708eb0f3e18ee6fcdd36014beaf7ae10'/>
<id>2840ce1e708eb0f3e18ee6fcdd36014beaf7ae10</id>
<content type='text'>
There are some examples on issue #850 of using this feature, but they
are not easily found from the documentation. Adding them here as an
example makes them more findable and ensures they keep working if the
API changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are some examples on issue #850 of using this feature, but they
are not easily found from the documentation. Adding them here as an
example makes them more findable and ensures they keep working if the
API changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename CMake/pkg-config target Catch2Main to Catch2WithMain</title>
<updated>2020-05-03T16:54:38+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-05-03T16:54:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=19ecad6f68154df2ba182c93224bdda8d7527b34'/>
<id>19ecad6f68154df2ba182c93224bdda8d7527b34</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
</feed>
