On Thu, 23 Jul 2026 at 18:08, Branko Čibej <[email protected]> wrote:

> On 23. 7. 2026 16:59, Ivan Zhakov wrote:
>
> I would like to discuss CMake minimum required version for trunk and
> 1.15.x.
>
> Currently Subversion requires CMake version >= 3.14
>
> We have two workarounds to support CMake < 3.18 [1, 2]. And one workaround
> to support CMake < 3.20 [3]
>
> Compatibility with versions of CMake older than 3.10 is deprecated in
> CMake 3.31 [4].
> Compatibility with versions of CMake older than 3.5 is removed in CMake
> 4.0 [4].
>
> Information about bundled CMake versions in different distributions and
> toolsets:
> - Visual Studio 2017     (supported until Apr 2027): CMake 3.6
> - Visual Studio 2019     (supported until Apr 2029): CMake 3.20
> - Visual Studio 2022     (supported until Jan 2032): CMake 3.31
> - Visual Studio 2026     (supported until Nov 2028): CMake 4.3
> - Debian 11 "bullseye"   (supported until Aug 2026): CMake 3.18
> - Debian 12 "bookworm"   (supported until Jun 2028): CMake 3.25
> - Debian 13 "trixie"     (supported until Aug 2030): CMake 3.31
> - Ubuntu 22.04 LTS       (supported until May 2027): CMake 3.22
> - Ubuntu 24.04 LTS       (supported until May 2029): CMake 3.28
> - Ubuntu 26.04 LTS       (supported until May 2031): CMake 4.2
> - RHEL 8                 (supported until May 2029): CMake 3.26
> - RHEL 9                 (supported until May 2032): CMake 3.31
> - RHEL 10                (supported until May 2035): CMake 3.31
>
> The same information sorted by CMake version:
> - Visual Studio 2017     (supported until Apr 2027): CMake 3.6
> - Debian 11 "bullseye"   (supported until Aug 2026): CMake 3.18
> - Visual Studio 2019     (supported until Apr 2029): CMake 3.20
> - Ubuntu 22.04 LTS       (supported until May 2027): CMake 3.22
> - Debian 12 "bookworm"   (supported until Jun 2028): CMake 3.25
> - RHEL 8                 (supported until May 2029): CMake 3.26
> - Ubuntu 24.04 LTS       (supported until May 2029): CMake 3.28
> - Visual Studio 2022     (supported until Jan 2032): CMake 3.31
> - RHEL 9                 (supported until May 2032): CMake 3.31
> - RHEL 10                (supported until May 2035): CMake 3.31
> - Debian 13 "trixie"     (supported until Aug 2030): CMake 3.31
> - Ubuntu 26.04 LTS       (supported until May 2031): CMake 4.2
> - Visual Studio 2026     (supported until Nov 2028): CMake 4.3
>
> Based on these tables, I think we can make CMake 3.20 the minimum required
> version. This would support building Subversion with bundled CMake in
> Visual Studio 2019 and would allow us to remove the three workarounds.
>
>
>
> I assume that the bundled version can be ignored/updated by a separate
> installation of CMake? If not, we should explicitly say in the release
> notes that we do not support building with CMake with VS 2017. That's a
> build environment that's less than 10 years old. Well, we still support it
> in the vcxproj generator.
>

There is an advanced option in the UI that allows using a custom CMake
executable [1]. It's hidden and not too intuitive, but using a different
version is supported and documented.

[1]:
https://learn.microsoft.com/en-us/cpp/build/customize-cmake-settings?view=msvc-170#cmake-executable

-- 
Ivan Zhakov

Reply via email to