Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorLeitwolf112026-11-01 00:25:59 +0300
committerLeitwolf112026-11-01 00:25:59 +0300
commitff1da91edffa9ee887e9fe737fcd87ec540dfa60 (patch)
tree25841e888932ebac3a51c4b59f77cea5a87ae5bd /src
parent42c68725c816963ec6529dd635d5aaaac23b1c05 (diff)
downloadcatch3-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.txt5
-rw-r--r--src/Progmasoft/Catch3/Internal/Decomposer.hpp2
-rw-r--r--src/Progmasoft/Catch3/meson.build5
-rw-r--r--src/Progmasoft/Runner/.clang-format2
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