Menu

#272 Support Visual Studio 2026

6.36
closed
1
2026-02-22
2025-11-12
No

Visual Studio 2026 was just released - we should add support for it in the 6.36, 6.44, 7 and trunk branches.

_MSC_VER for the new C++ compiler tools is 1950

Platform toolset version is v145

Related

News: 2025/11/visual-studio-2026-is-here
News: 2026/02/owlnext-7020-64428-and-63613-updates
Wiki: OWLNext_Stable_Releases

Discussion

  • Ognyan Chernokozhev

    @vattila In order to build the trunk with the new Visual Studio 2026, the toolset for the MSBuild projects must be updated to v145. But that will make them no longer be able to be built with VS2022.

    Should we go forward and make trunk buildable with only the latest release of VS, or should we try for at least some period to support both 2022 and 2026 until people migrate to the latest?

     
    👍
    1
    • Ognyan Chernokozhev

      I found out how to parametrize the toolset setting when using MSBuild, so now the trunk can be built with both VS2022 and VS2026. Even if we remove the support for 2022, this will help in the future when new toolsets are released.

       
      👍
      1
  • Vidar Hasfjord

    Vidar Hasfjord - 2025-11-25

    @jogybl wrote:

    In order to build the trunk with the new Visual Studio 2026, the toolset for the MSBuild projects must be updated to v145. [...] I found out how to parametrize the toolset setting

    I was about to suggest parameterisation. Good to see you've already figured it out and implemented it!

    Should we go forward and make trunk buildable with only the latest release of VS [...]?

    I've not yet gotten around to upgrading to 2026. Keeping the 2022 support for a little transition period would be good, until we've all upgraded and any issues have been worked out. But in my view we should eventually move to only support the latest compiler versions on the trunk, for sake of simplicity and progress.

    Going forward, I'm not yet sure how to best deal with the decoupling of VS IDE version and MSVC toolset version, now that their release cycles will be decoupled. However, this is mostly a documentation issue, I guess. Apart from OWLMaker, the code and build scripts only deal with the MSVC compiler and toolset versions.

     
  • Vidar Hasfjord

    Vidar Hasfjord - 2025-11-25

    @jogybl,

    It is unnecessary to define both compiler tags "v1950" and "v145" for VS 2026. The latter should be used throughout. Two tags were needed for VS 2022 only because "v1930" was already established when I switched to use the platform toolset ("v143") as the compiler tag on the trunk.

    Likewise, there is no need for two toolsets in OWLMaker to represent VS 2026. A single one will do; calling NMake or MSBuild as necessary based on the OWLNext version. The need for two toolsets for VS 2022 was only for convenience during development of the MSBuild support. It was useful to have both the NMake and MSBuild versions side by side, when the MSBuild version wasn't fully baked.

    Revision [r8573] makes these simplifications and also bumps the trunk version to 8.0.6 to indicate new compiler support.

    Pages [OWLNext_naming_convention], [Supported_Compilers] and [OWLNext_Stable_Releases] have been updated.

    Edit: A regression (missing support for dynamic linking in OWLNext 7 and earlier) was fixed in revision [r8574]. Another regression (due to reliance on non-standard behaviour in regular expressions) was fixed in [r8575].

     

    Related

    Commit: [r8573]
    Commit: [r8574]
    Commit: [r8575]
    Wiki: OWLNext_Stable_Releases
    Wiki: OWLNext_naming_convention
    Wiki: Supported_Compilers


    Last edit: Vidar Hasfjord 2025-11-26
  • Vidar Hasfjord

    Vidar Hasfjord - 2025-11-26
    • labels: Build --> Build, OWLMaker
     
  • Vidar Hasfjord

    Vidar Hasfjord - 2026-02-14
    • Group: 6.44 --> 6.36
     
  • Ognyan Chernokozhev

    • status: open --> pending
     
  • Ognyan Chernokozhev

    • status: pending --> closed
     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB