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

