From de85785f8ae7211602ba3aad0e4d7f9ece26fdee Mon Sep 17 00:00:00 2001 From: Sihu Hwang <129564966+hwangsihu@users.noreply.github.com> Date: Tue, 19 May 2026 20:45:21 +0900 Subject: [PATCH 1/2] Add support for Visual Studio 2026 --- .github/workflows/cmake.yml | 3 ++ .github/workflows/windows.yml | 16 +++++++++ ACE/NEWS | 2 ++ ACE/ace/config-win32-msvc-145.h | 29 +++++++++++++++ ACE/ace/config-win32-msvc.h | 4 ++- .../MakeProjectCreator/config/acedefaults.mpb | 3 ++ .../MakeProjectCreator/config/vs2026.features | 4 +++ .../MakeProjectCreator/config/vs2026nmake.mpb | 36 +++++++++++++++++++ 8 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 ACE/ace/config-win32-msvc-145.h create mode 100644 ACE/bin/MakeProjectCreator/config/vs2026.features create mode 100644 ACE/bin/MakeProjectCreator/config/vs2026nmake.mpb diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 19086ce344809..0edfaff555555 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -27,6 +27,9 @@ jobs: - CC: vs2022 CXX: vs2022 os: windows-2022 + - CC: vs2026 + CXX: vs2026 + os: windows-2025 runs-on: ${{ matrix.os }} name: ${{ matrix.os }} ${{ matrix.CXX }} env: diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 10d5bfe375564..3fab2ee55eca7 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -84,6 +84,22 @@ jobs: vcpkgarch: x64-windows vcpkglibdir: lib vcpkgpackages: '"openssl", "xerces-c", "zlib"' + - name: VS2026Debug64 + vmimage: windows-2025 + mpctype: vs2026 + BuildPlatform: x64 + BuildConfiguration: Debug + vcpkgarch: x64-windows + vcpkglibdir: debug/lib + vcpkgpackages: '"openssl", "xerces-c", "zlib"' + - name: VS2026Release64 + vmimage: windows-2025 + mpctype: vs2026 + BuildPlatform: x64 + BuildConfiguration: Release + vcpkgarch: x64-windows + vcpkglibdir: lib + vcpkgpackages: '"openssl", "xerces-c", "zlib"' runs-on: ${{ matrix.vmimage }} name: ${{ matrix.name }} env: diff --git a/ACE/NEWS b/ACE/NEWS index 0191bd04ad2ed..2d8f76b40d03b 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,6 +1,8 @@ USER VISIBLE CHANGES BETWEEN ACE-8.0.6 and ACE-8.0.7 ==================================================== +. Added support for Visual Studio 2026 + USER VISIBLE CHANGES BETWEEN ACE-8.0.5 and ACE-8.0.6 ==================================================== diff --git a/ACE/ace/config-win32-msvc-145.h b/ACE/ace/config-win32-msvc-145.h new file mode 100644 index 0000000000000..9d562fcb22285 --- /dev/null +++ b/ACE/ace/config-win32-msvc-145.h @@ -0,0 +1,29 @@ +/* -*- C++ -*- */ +//============================================================================= +/** + * @file config-win32-msvc-145.h + * + * @brief Microsoft Visual C++ 14.5 configuration file. + * + * This file is the ACE configuration file for Microsoft Visual C++ 14.5 (as released with Visual Studio 2026). + * + * @note Do not include this file directly, include config-win32.h instead. + */ +//============================================================================= + +#ifndef ACE_CONFIG_WIN32_MSVC_145_H +#define ACE_CONFIG_WIN32_MSVC_145_H +#include /**/ "ace/pre.h" + +#ifndef ACE_CONFIG_WIN32_H +#error Use config-win32.h in config.h instead of this header +#endif /* ACE_CONFIG_WIN32_H */ + +#ifndef ACE_WIN32_VC145 +# define ACE_WIN32_VC145 +#endif + +#include "ace/config-win32-msvc-143.h" + +#include /**/ "ace/post.h" +#endif /* ACE_CONFIG_WIN32_MSVC_145_H */ diff --git a/ACE/ace/config-win32-msvc.h b/ACE/ace/config-win32-msvc.h index 0c165282284d2..d9321572d52fd 100644 --- a/ACE/ace/config-win32-msvc.h +++ b/ACE/ace/config-win32-msvc.h @@ -33,7 +33,9 @@ # define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS) //FUZZ: disable check_for_msc_ver -#if (_MSC_VER >= 1930) +#if (_MSC_VER >= 1950) +# include "ace/config-win32-msvc-145.h" +#elif (_MSC_VER >= 1930) # include "ace/config-win32-msvc-143.h" #elif (_MSC_VER >= 1920) # include "ace/config-win32-msvc-142.h" diff --git a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb index 37828f37d3ad5..0fff68e2ebbce 100644 --- a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb +++ b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb @@ -63,6 +63,9 @@ feature(ace_languagestandard2017) { specific(vs2017,vs2019,vs2022) { LanguageStandard = stdcpp17 } + specific(vs2026) { + LanguageStandard = stdcpp20 + } specific(cmake) { languagestandard = 17 } diff --git a/ACE/bin/MakeProjectCreator/config/vs2026.features b/ACE/bin/MakeProjectCreator/config/vs2026.features new file mode 100644 index 0000000000000..ef60921945659 --- /dev/null +++ b/ACE/bin/MakeProjectCreator/config/vs2026.features @@ -0,0 +1,4 @@ +ssl=0 +qos=1 +rwho=0 +sctp=0 diff --git a/ACE/bin/MakeProjectCreator/config/vs2026nmake.mpb b/ACE/bin/MakeProjectCreator/config/vs2026nmake.mpb new file mode 100644 index 0000000000000..5c8d3f92e0903 --- /dev/null +++ b/ACE/bin/MakeProjectCreator/config/vs2026nmake.mpb @@ -0,0 +1,36 @@ +// -*- MPC -*- +feature (nmake_avoid_Wp64) { + specific(nmake) { + add_compile -= /Wp64 + } +} + +feature (nmake_avoid_Gm) { + specific(nmake) { + compile_flags -= /Gm + } +} + +feature(vc_avoid_hides_local_declaration) { + specific(nmake) { + DisableSpecificWarnings += 4456 + } +} + +feature(vc_avoid_hides_global_declaration) { + specific(nmake) { + DisableSpecificWarnings += 4459 + } +} + +feature(vc_avoid_hides_class_member) { + specific(nmake) { + DisableSpecificWarnings += 4458 + } +} + +feature(ace_languagestandard2017) { + specific(nmake) { + compile_flags += /std:c++20 + } +} From 343300893d499809973b3fad0af7f95e2693a66b Mon Sep 17 00:00:00 2001 From: Sihu Hwang <129564966+hwangsihu@users.noreply.github.com> Date: Wed, 20 May 2026 18:19:02 +0900 Subject: [PATCH 2/2] Add ace_languagestandard2020 feature for vs2026 --- ACE/bin/MakeProjectCreator/config/acedefaults.mpb | 9 ++++++--- ACE/bin/MakeProjectCreator/config/vs2026nmake.mpb | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb index 0fff68e2ebbce..19e1f93720b1a 100644 --- a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb +++ b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb @@ -63,10 +63,13 @@ feature(ace_languagestandard2017) { specific(vs2017,vs2019,vs2022) { LanguageStandard = stdcpp17 } - specific(vs2026) { - LanguageStandard = stdcpp20 - } specific(cmake) { languagestandard = 17 } } + +feature(ace_languagestandard2020) { + specific(vs2026) { + LanguageStandard = stdcpp20 + } +} diff --git a/ACE/bin/MakeProjectCreator/config/vs2026nmake.mpb b/ACE/bin/MakeProjectCreator/config/vs2026nmake.mpb index 5c8d3f92e0903..0c96088d3ba94 100644 --- a/ACE/bin/MakeProjectCreator/config/vs2026nmake.mpb +++ b/ACE/bin/MakeProjectCreator/config/vs2026nmake.mpb @@ -29,7 +29,7 @@ feature(vc_avoid_hides_class_member) { } } -feature(ace_languagestandard2017) { +feature(ace_languagestandard2020) { specific(nmake) { compile_flags += /std:c++20 }