From c9798a015622048cc9c354981e1d2c3ebc3e3a1d Mon Sep 17 00:00:00 2001 From: nircoe Date: Sun, 27 Sep 2026 13:26:20 +0300 Subject: [PATCH 1/2] [Build]: Promote C++ standard to 23 --- CMakeLists.txt | 3 ++- README.md | 2 +- docs/CONTRIBUTING.md | 2 +- examples/CMakeLists.txt | 3 ++- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c8c80c0..a2c6db2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,8 +2,9 @@ cmake_minimum_required(VERSION 3.14) project(testcoe VERSION 0.1.0 LANGUAGES CXX) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) # TODO: Remove this when upgrading to a newer version of backward-cpp (newer than v1.6) set(CMAKE_POLICY_VERSION_MINIMUM 3.14 CACHE STRING "" FORCE) diff --git a/README.md b/README.md index 77c2f1f..c8979e2 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ See the [examples/](examples/) directory for demonstrations: ## Requirements -- C++17 or later +- C++23 or later - CMake 3.14+ - Google Test (automatically included) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 288d830..ec3b0a8 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -6,7 +6,7 @@ Thank you for your interest in contributing to testcoe! ### Prerequisites - CMake 3.14+ -- C++17 compatible compiler +- C++23 compatible compiler - Git ### Building from Source diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 8e32f32..e33a5e3 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -1,8 +1,9 @@ cmake_minimum_required(VERSION 3.14) project(testcoe_examples LANGUAGES CXX) -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) if(NOT TARGET testcoe) message(STATUS "[testcoe examples] Building examples standalone - will find or fetch testcoe") From 6bf9555a3398c00891bb8d031772c78fc8154403 Mon Sep 17 00:00:00 2001 From: nircoe Date: Sun, 27 Sep 2026 16:44:08 +0300 Subject: [PATCH 2/2] Bump examples to C++23 --- examples/basic/CMakeLists.txt | 3 ++- examples/crash/CMakeLists.txt | 3 ++- examples/filter/CMakeLists.txt | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/examples/basic/CMakeLists.txt b/examples/basic/CMakeLists.txt index 92a8652..36ff3a5 100644 --- a/examples/basic/CMakeLists.txt +++ b/examples/basic/CMakeLists.txt @@ -1,8 +1,9 @@ cmake_minimum_required(VERSION 3.14) project(testcoe_basic_example LANGUAGES CXX) -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) # Find testcoe package or fetch it from GitHub diff --git a/examples/crash/CMakeLists.txt b/examples/crash/CMakeLists.txt index 3ec8058..14a1f3c 100644 --- a/examples/crash/CMakeLists.txt +++ b/examples/crash/CMakeLists.txt @@ -1,8 +1,9 @@ cmake_minimum_required(VERSION 3.14) project(testcoe_crash_handling_example LANGUAGES CXX) -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") add_compile_options(-fno-omit-frame-pointer) diff --git a/examples/filter/CMakeLists.txt b/examples/filter/CMakeLists.txt index 9c49eba..5ba0967 100644 --- a/examples/filter/CMakeLists.txt +++ b/examples/filter/CMakeLists.txt @@ -1,8 +1,9 @@ cmake_minimum_required(VERSION 3.14) project(testcoe_filter_example LANGUAGES CXX) -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) # Find testcoe package or fetch it from GitHub