Skip to content

Require C++17 and CMake 3.13 - #580

Open
SRombauts wants to merge 4 commits into
masterfrom
feature-cxx17-cmake-baseline
Open

SRombauts wants to merge 4 commits into
masterfrom
feature-cxx17-cmake-baseline

Conversation

@SRombauts

@SRombauts SRombauts commented Sep 21, 2026

Copy link
Copy Markdown
Owner

Summary

  • start SQLiteCpp 4.0.0 development after the 3.4.x maintenance branch
  • raise the project minimum from C++11 to C++17
  • raise the CMake minimum from 3.5 to 3.13
  • publish the C++17 requirement through target_compile_features(SQLiteCpp PUBLIC cxx_std_17)
  • remove CMake compatibility branches that are obsolete with the new minimum
  • align the Meson build with the C++17 minimum
  • replace the C++11/C++17 consumer workflow with C++17/C++20 compatibility coverage
  • update README, generated docs, CHANGELOG, and repository agent/build guidance

CMake baseline rationale

CMake 3.8 would be sufficient to express C++17, and CMake 3.12 is the first release that understands CXX_STANDARD 20. This PR uses CMake 3.13 because it still supports C++20 configuration while also matching the minimum required by the bundled GoogleTest 1.16 project when tests fall back to the submodule.

This keeps the baseline conservative while making the declared project minimum consistent with its bundled test dependency.

Standard compatibility coverage

The CMake consumer workflow now tests:

  • C++17 library / C++17 consumer
  • C++17 library / C++20 consumer
  • C++20 library / C++20 consumer

This checks the required minimum, a newer-standard consumer against the minimum-standard library, and compilation of the library itself as C++20.

Scope

This PR only establishes the new language/build baseline and starts the 4.0.0 development line. It deliberately does not re-introduce the ABI-breaking changes reverted before 3.4.0; those can follow in a separate PR after this one is merged.

@coveralls

coveralls commented Sep 21, 2026

Copy link
Copy Markdown

Coverage Status

coverage: 99.715% (+0.002%) from 99.713% — feature-cxx17-cmake-baseline into master

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants