From 9cf2d52fbb9e5507ea6e352789809355ac04e3b0 Mon Sep 17 00:00:00 2001 From: Ayaz Salikhov Date: Tue, 30 Jun 2026 21:03:31 +0100 Subject: [PATCH] build: Compile all dependencies with C++23 (#3129) --- .github/workflows/upload-conan-deps.yml | 4 ++-- CMakeLists.txt | 2 +- conan/{profiles => lockfile}/apple-clang-21.profile | 2 +- .../regenerate_lockfile.sh => conan/lockfile/regenerate.sh | 2 +- conan/profiles/default | 2 +- docs/build-clio.md | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) rename conan/{profiles => lockfile}/apple-clang-21.profile (87%) rename .github/scripts/conan/regenerate_lockfile.sh => conan/lockfile/regenerate.sh (92%) diff --git a/.github/workflows/upload-conan-deps.yml b/.github/workflows/upload-conan-deps.yml index 635116cb4..574e8cced 100644 --- a/.github/workflows/upload-conan-deps.yml +++ b/.github/workflows/upload-conan-deps.yml @@ -22,10 +22,10 @@ on: - .github/actions/conan/action.yml - ".github/scripts/conan/**" - - "!.github/scripts/conan/regenerate_lockfile.sh" - conanfile.py - conan.lock + - conan/profiles/** push: branches: [develop] paths: @@ -33,10 +33,10 @@ on: - .github/actions/conan/action.yml - ".github/scripts/conan/**" - - "!.github/scripts/conan/regenerate_lockfile.sh" - conanfile.py - conan.lock + - conan/profiles/** concurrency: group: ${{ github.workflow }}-${{ github.ref }} diff --git a/CMakeLists.txt b/CMakeLists.txt index f244af698..b68eca363 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,7 +35,7 @@ include(ClangTidy) include(Linker) add_library(clio_options INTERFACE) -target_compile_features(clio_options INTERFACE cxx_std_23) # Clio needs c++23 but deps can remain c++20 for now +target_compile_features(clio_options INTERFACE cxx_std_23) target_include_directories(clio_options INTERFACE ${CMAKE_SOURCE_DIR}/src) if( diff --git a/conan/profiles/apple-clang-21.profile b/conan/lockfile/apple-clang-21.profile similarity index 87% rename from conan/profiles/apple-clang-21.profile rename to conan/lockfile/apple-clang-21.profile index 023c8b448..f96434348 100644 --- a/conan/profiles/apple-clang-21.profile +++ b/conan/lockfile/apple-clang-21.profile @@ -2,7 +2,7 @@ arch={{detect_api.detect_arch()}} build_type=Release compiler=apple-clang -compiler.cppstd=20 +compiler.cppstd=23 compiler.libcxx=libc++ compiler.version=21.0 os=Macos diff --git a/.github/scripts/conan/regenerate_lockfile.sh b/conan/lockfile/regenerate.sh similarity index 92% rename from .github/scripts/conan/regenerate_lockfile.sh rename to conan/lockfile/regenerate.sh index c5603ad8e..4d46efe29 100755 --- a/.github/scripts/conan/regenerate_lockfile.sh +++ b/conan/lockfile/regenerate.sh @@ -22,4 +22,4 @@ rm -f conan.lock # Create a new lockfile that is compatible with macOS. # It should also work on Linux. conan lock create . \ - --profile:all=./conan/profiles/apple-clang-21.profile + --profile:all=./conan/lockfile/apple-clang-21.profile diff --git a/conan/profiles/default b/conan/profiles/default index 7302f9d92..c00c28e01 100644 --- a/conan/profiles/default +++ b/conan/profiles/default @@ -12,7 +12,7 @@ arch={{ arch }} build_type=Debug compiler={{compiler}} compiler.version={{ compiler_version }} -compiler.cppstd=20 +compiler.cppstd=23 {% if os == "Windows" %} compiler.runtime=static {% else %} diff --git a/docs/build-clio.md b/docs/build-clio.md index 341cc0aec..cfaa79f7e 100644 --- a/docs/build-clio.md +++ b/docs/build-clio.md @@ -104,7 +104,7 @@ It is implicitly used when running `conan` commands, you don't need to specify i You have to update this file every time you add a new dependency or change a revision or version of an existing dependency. -To update a lockfile, run from the repository root: `./.github/scripts/conan/regenerate_lockfile.sh` +To update a lockfile, run from the repository root: `./conan/lockfile/regenerate.sh` ## Building Clio