diff options
| author | Leitwolf11 | 2026-11-01 00:25:59 +0300 |
|---|---|---|
| committer | Leitwolf11 | 2026-11-01 00:25:59 +0300 |
| commit | ff1da91edffa9ee887e9fe737fcd87ec540dfa60 (patch) | |
| tree | 25841e888932ebac3a51c4b59f77cea5a87ae5bd /src | |
| parent | 42c68725c816963ec6529dd635d5aaaac23b1c05 (diff) | |
| download | catch3-chore/cpp17-descriptions.tar.gz | |
Say C++17 everywhere the project describes itselfchore/cpp17-descriptions
The move to C++17 left a trail of older claims. The Runner's own
.clang-format still said c++20; the result is byte for byte the same under
either value. Premake and Xmake still compiled the library as C++20 and
the main library as C++14, which meant their CI jobs were not testing the
language the project promises. Both now use C++17 for every target.
The rest is text: the Meson pkg-config description claimed C++14, comments
in the CMake and Meson files explained requirements that no longer exist,
.clang-tidy gave C++14 as the reason for two exclusions, issue templates
asked for C++20 samples, and the example headers named -std=c++14 and
catch2-with-main. The release notes and the migration guide state the
C++17 minimum. Doxygen's brief called the project "Catch2's test API",
which presents it as Catch2. Meson declared only BSL-1.0; it now names both
licenses of the tree. The amalgamated files are regenerated.
Diffstat (limited to 'src')
| -rw-r--r-- | src/CMakeLists.txt | 5 | ||||
| -rw-r--r-- | src/Progmasoft/Catch3/Internal/Decomposer.hpp | 2 | ||||
| -rw-r--r-- | src/Progmasoft/Catch3/meson.build | 5 | ||||
| -rw-r--r-- | src/Progmasoft/Runner/.clang-format | 2 |
4 files changed, 6 insertions, 8 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 398260fd..aee8c7a3 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -396,8 +396,7 @@ set_target_properties(Catch3 PROPERTIES SOVERSION ${PROJECT_VERSION} ) -# Code that includes the engine's headers needs C++14, and the other -# Progmasoft/ headers C++20; the library itself, with the runner, is built as C++20. +# The library, and the code that includes its headers, need C++17. target_compile_features(Catch3 PUBLIC cxx_std_17) configure_file( @@ -489,7 +488,7 @@ if(CATCH3_BUILD_EXAMPLES OR CATCH3_BUILD_EXTRA_TESTS) Catch3Pugixml ) # These targets compile the library's sources themselves, the runner's - # among them, which need C++20. + # among them, which need C++17. target_compile_features(Catch3_buildall_interface INTERFACE cxx_std_17) endif() diff --git a/src/Progmasoft/Catch3/Internal/Decomposer.hpp b/src/Progmasoft/Catch3/Internal/Decomposer.hpp index 77a4a123..4c57d3be 100644 --- a/src/Progmasoft/Catch3/Internal/Decomposer.hpp +++ b/src/Progmasoft/Catch3/Internal/Decomposer.hpp @@ -128,7 +128,7 @@ namespace Catch { namespace Detail { - // This was added in C++20, but we require only C++14 for now. + // This was added in C++20, but we require only C++17. template <typename T> using RemoveCVRef_t = std::remove_cv_t<std::remove_reference_t<T>>; } diff --git a/src/Progmasoft/Catch3/meson.build b/src/Progmasoft/Catch3/meson.build index b8d38908..7b75dc6d 100644 --- a/src/Progmasoft/Catch3/meson.build +++ b/src/Progmasoft/Catch3/meson.build @@ -347,8 +347,7 @@ if ((host_machine.system() == 'android') or catch3_dependencies += log_dep endif -# Code that includes the engine's headers needs C++14, and the other -# Progmasoft/ headers C++20; the library itself, with the runner, is built as C++20. +# The library, and the code that includes its headers, need C++17. catch3 = static_library( 'Catch3', sources, @@ -368,7 +367,7 @@ if get_option('install') pkg.generate( catch3, filebase: 'catch3', - description: 'A C++ test framework with a Catch2-compatible API; headers need C++14 and above', + description: 'A C++ test framework with a Catch2-compatible API; headers need C++17 and above', url: 'https://github.com/Progmasoft/catch3', ) endif diff --git a/src/Progmasoft/Runner/.clang-format b/src/Progmasoft/Runner/.clang-format index 1063b9ea..2cdf8220 100644 --- a/src/Progmasoft/Runner/.clang-format +++ b/src/Progmasoft/Runner/.clang-format @@ -1,7 +1,7 @@ --- Language: Cpp BasedOnStyle: LLVM -Standard: c++20 +Standard: c++17 UseTab: Never IndentWidth: 4 |