From 553958aeaa821ef54382d53677b4b3b4ff774831 Mon Sep 17 00:00:00 2001 From: firewave Date: Sat, 11 Jul 2026 12:30:28 +0200 Subject: [PATCH 1/4] make it possibly to actually override the C++ standard in CMake --- CMakeLists.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a90efae..f2c99e89 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,9 +1,13 @@ cmake_minimum_required (VERSION 3.10) project (simplecpp LANGUAGES CXX) -set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD 11 CACHE STRING "C++ standard to use") set(CMAKE_CXX_STANDARD_REQUIRED ON) +if(CMAKE_CXX_STANDARD LESS 11) + message(FATAL_ERROR "C++ standard was set to ${CMAKE_CXX_STANDARD} but 11 is required as a minimum") +endif() + include(CheckCXXCompilerFlag) if (WIN32) From 75cd1302c00f5d716998c57f3da99d95a26a9fa4 Mon Sep 17 00:00:00 2001 From: firewave Date: Sat, 11 Jul 2026 12:37:12 +0200 Subject: [PATCH 2/4] .clang-tidy: disabled some warnings only fixable when targeting newer C++ standards --- .clang-tidy | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.clang-tidy b/.clang-tidy index e0b384bf..901afe13 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -31,10 +31,14 @@ Checks: > -modernize-avoid-c-arrays, -modernize-loop-convert, -modernize-pass-by-value, + -modernize-use-designated-initializers, -modernize-use-nodiscard, + -modernize-use-ranges, + -modernize-use-starts-ends-with, -modernize-use-trailing-return-type, -readability-avoid-nested-conditional-operator, -readability-braces-around-statements, + -readability-container-contains, -readability-function-cognitive-complexity, -readability-function-size, -readability-implicit-bool-conversion, From 85780a2d4de875eacba8f0bc166cc1995aac0af8 Mon Sep 17 00:00:00 2001 From: firewave Date: Sat, 11 Jul 2026 12:41:19 +0200 Subject: [PATCH 3/4] test.cpp: fixed `misc-include-cleaner` clang-tidy warning --- test.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test.cpp b/test.cpp index 3a858929..c339e405 100644 --- a/test.cpp +++ b/test.cpp @@ -18,6 +18,10 @@ #include #include +#ifdef __cpp_lib_string_view +#include +#endif + #ifndef SIMPLECPP_TEST_SOURCE_DIR #error "SIMPLECPP_TEST_SOURCE_DIR is not defined." #endif From e3f45a18b15fb16202e5323a8886daafcaf8e7ad Mon Sep 17 00:00:00 2001 From: firewave Date: Sat, 11 Jul 2026 12:41:55 +0200 Subject: [PATCH 4/4] .clang-tidy: disabled `modernize-use-auto` for now --- .clang-tidy | 1 + 1 file changed, 1 insertion(+) diff --git a/.clang-tidy b/.clang-tidy index 901afe13..184cac3d 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -31,6 +31,7 @@ Checks: > -modernize-avoid-c-arrays, -modernize-loop-convert, -modernize-pass-by-value, + -modernize-use-auto, -modernize-use-designated-initializers, -modernize-use-nodiscard, -modernize-use-ranges,