diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 19086ce344809..eab2a367f2624 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-vs2026 runs-on: ${{ matrix.os }} name: ${{ matrix.os }} ${{ matrix.CXX }} env: diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 39b7dfaf3b30c..1319452533284 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-vs2026 + mpctype: vs2026 + BuildPlatform: x64 + BuildConfiguration: Debug + vcpkgarch: x64-windows + vcpkglibdir: debug/lib + vcpkgpackages: '"openssl", "xerces-c", "zlib"' + - name: VS2026Release64 + vmimage: windows-2025-vs2026 + 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 f5345bcbc01ef..bb86f85a9c6b8 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,6 +1,8 @@ USER VISIBLE CHANGES BETWEEN ACE-8.0.5 and ACE-8.0.6 ==================================================== +. Added support for Visual Studio 2026 + . Support floating-point-based `std::chrono::duration` in `ACE_Time_Value` . Don't disable inlining in a debug build with Embarcadero C++ Builder compilers 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/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..a2de3923249a0 --- /dev/null +++ b/ACE/bin/MakeProjectCreator/config/vs2026nmake.mpb @@ -0,0 +1,30 @@ +// -*- 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 + } +}