From 41d9eb49c00de4500c89c74678983bb6787462dd Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Tue, 10 Feb 2026 11:43:32 -0800 Subject: [PATCH 01/10] Improved VS 2026 support --- build/CompilerAndLinker.cmake | 4 ++++ build/downloadbuild.ps1 | 10 +++++----- build/promotenuget.ps1 | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/build/CompilerAndLinker.cmake b/build/CompilerAndLinker.cmake index c2220f53..72ff2a91 100644 --- a/build/CompilerAndLinker.cmake +++ b/build/CompilerAndLinker.cmake @@ -205,6 +205,10 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") list(APPEND COMPILER_SWITCHES $<$:/Zc:templateScope>) endif() endif() + + if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.50) + list(APPEND COMPILER_SWITCHES /Zc:u8EscapeEncoding) + endif() endif() #--- Windows API Family diff --git a/build/downloadbuild.ps1 b/build/downloadbuild.ps1 index c5329a1d..474ac889 100644 --- a/build/downloadbuild.ps1 +++ b/build/downloadbuild.ps1 @@ -55,7 +55,7 @@ try } catch { - Write-Error "##[error]Build $BuildId not found!" -ErrorAction Continue + Write-Error "##[error]Build $BuildId not found!" -ErrorAction Stop } $ProgressPreference = 'SilentlyContinue' @@ -85,7 +85,7 @@ foreach ($artifact in $responsearm64) { } catch { - Write-Error "##[error]Failed to download $artifactName!" -ErrorAction Continue + Write-Error "##[error]Failed to download $artifactName!" -ErrorAction Stop } try @@ -95,7 +95,7 @@ foreach ($artifact in $responsearm64) { } catch { - Write-Error "##[error]Failed to extract $artifactName!" -ErrorAction Continue + Write-Error "##[error]Failed to extract $artifactName!" -ErrorAction Stop } } @@ -112,7 +112,7 @@ foreach ($artifact in $responseamd64) { } catch { - Write-Error "##[error]Failed to download $artifactName!" -ErrorAction Continue + Write-Error "##[error]Failed to download $artifactName!" -ErrorAction Stop } try @@ -122,7 +122,7 @@ foreach ($artifact in $responseamd64) { } catch { - Write-Error "##[error]Failed to extract $artifactName!" -ErrorAction Continue + Write-Error "##[error]Failed to extract $artifactName!" -ErrorAction Stop } } diff --git a/build/promotenuget.ps1 b/build/promotenuget.ps1 index 1ae766b9..0b42acaa 100644 --- a/build/promotenuget.ps1 +++ b/build/promotenuget.ps1 @@ -33,7 +33,7 @@ param( # Parse PAT if ($PAT.Length -eq 0) { - $PAT = $env:ADO_PERSONAL_ACCESS_TOKEN + $PAT = [string]$env:ADO_PERSONAL_ACCESS_TOKEN if ($PAT.Length -eq 0) { Write-Error "##[error]This script requires a valid ADO Personal Access Token!" -ErrorAction Stop From 79995b8bc74b98be673f7af5db876fc768d41cfa Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Tue, 10 Feb 2026 13:10:42 -0800 Subject: [PATCH 02/10] Add VS 2026 slnx/vcxproj --- .../DirectXMesh_Desktop_2026_Win10.vcxproj | 448 ++++++++++++++++++ ...ctXMesh_Desktop_2026_Win10.vcxproj.filters | 79 +++ DirectXMesh_Desktop_2026_Win10.slnx | 15 + .../Meshconvert_Desktop_2026_Win10.vcxproj | 442 +++++++++++++++++ ...convert_Desktop_2026_Win10.vcxproj.filters | 48 ++ 5 files changed, 1032 insertions(+) create mode 100644 DirectXMesh/DirectXMesh_Desktop_2026_Win10.vcxproj create mode 100644 DirectXMesh/DirectXMesh_Desktop_2026_Win10.vcxproj.filters create mode 100644 DirectXMesh_Desktop_2026_Win10.slnx create mode 100644 Meshconvert/Meshconvert_Desktop_2026_Win10.vcxproj create mode 100644 Meshconvert/Meshconvert_Desktop_2026_Win10.vcxproj.filters diff --git a/DirectXMesh/DirectXMesh_Desktop_2026_Win10.vcxproj b/DirectXMesh/DirectXMesh_Desktop_2026_Win10.vcxproj new file mode 100644 index 00000000..c722698b --- /dev/null +++ b/DirectXMesh/DirectXMesh_Desktop_2026_Win10.vcxproj @@ -0,0 +1,448 @@ + + + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Profile + ARM64 + + + Profile + Win32 + + + Profile + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + DirectXMesh + {6857F086-F6FE-4150-9ED7-7446F1C1C220} + DirectXMesh + Win32Proj + 10.0 + x64 + + + + StaticLibrary + true + Unicode + v145 + + + StaticLibrary + true + Unicode + v145 + + + StaticLibrary + true + Unicode + v145 + + + StaticLibrary + Unicode + v145 + + + StaticLibrary + Unicode + v145 + + + StaticLibrary + Unicode + v145 + + + StaticLibrary + Unicode + v145 + + + StaticLibrary + Unicode + v145 + + + StaticLibrary + Unicode + v145 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + DirectXMesh + true + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + DirectXMesh + true + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + DirectXMesh + true + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + DirectXMesh + true + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + DirectXMesh + true + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + DirectXMesh + true + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + DirectXMesh + true + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + DirectXMesh + true + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + DirectXMesh + true + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)Spectre\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)Spectre\ + DirectXMesh_Spectre + + + + EnableAllWarnings + Disabled + MultiThreadedDebugDLL + true + Fast + StreamingSIMDExtensions2 + true + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + Use + DirectXMeshP.h + $(IntDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + Level4 + ProgramDatabase + false + + + Windows + true + + + false + + + + + EnableAllWarnings + Disabled + MultiThreadedDebugDLL + true + Fast + true + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + Use + DirectXMeshP.h + $(IntDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + Level4 + ProgramDatabase + false + + + Windows + true + + + false + + + + + EnableAllWarnings + Disabled + MultiThreadedDebugDLL + true + Fast + true + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + Use + DirectXMeshP.h + $(IntDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + Level4 + ProgramDatabase + false + + + Windows + true + + + false + + + + + EnableAllWarnings + MaxSpeed + true + Fast + StreamingSIMDExtensions2 + true + WIN32;NDEBUG;_WINDOWS;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + Use + DirectXMeshP.h + $(IntDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + Level4 + + + true + Windows + true + true + + + false + + + + + EnableAllWarnings + MaxSpeed + true + Fast + true + WIN32;NDEBUG;_WINDOWS;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + Use + DirectXMeshP.h + $(IntDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + Level4 + true + + + true + Windows + true + true + + + false + + + + + EnableAllWarnings + MaxSpeed + true + Fast + true + WIN32;NDEBUG;_WINDOWS;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + Use + DirectXMeshP.h + $(IntDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + Level4 + true + + + true + Windows + true + true + + + false + + + + + EnableAllWarnings + MaxSpeed + true + Fast + StreamingSIMDExtensions2 + true + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + Use + DirectXMeshP.h + $(IntDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + Level4 + + + true + Windows + true + true + + + false + + + + + EnableAllWarnings + MaxSpeed + true + Fast + true + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + Use + DirectXMeshP.h + $(IntDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + Level4 + true + + + true + Windows + true + true + + + false + + + + + EnableAllWarnings + MaxSpeed + true + Fast + true + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + Use + DirectXMeshP.h + $(IntDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + Level4 + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + + + + + + + + + Create + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/DirectXMesh/DirectXMesh_Desktop_2026_Win10.vcxproj.filters b/DirectXMesh/DirectXMesh_Desktop_2026_Win10.vcxproj.filters new file mode 100644 index 00000000..62163bc8 --- /dev/null +++ b/DirectXMesh/DirectXMesh_Desktop_2026_Win10.vcxproj.filters @@ -0,0 +1,79 @@ + + + + + {d76fe36f-16db-490a-9ba9-13d02e13a65b} + + + {d4f97b15-a8e2-4223-a242-ca68b901e1fb} + + + + + Header Files + + + Header Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Source Files + + + + + \ No newline at end of file diff --git a/DirectXMesh_Desktop_2026_Win10.slnx b/DirectXMesh_Desktop_2026_Win10.slnx new file mode 100644 index 00000000..5473dcfa --- /dev/null +++ b/DirectXMesh_Desktop_2026_Win10.slnx @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/Meshconvert/Meshconvert_Desktop_2026_Win10.vcxproj b/Meshconvert/Meshconvert_Desktop_2026_Win10.vcxproj new file mode 100644 index 00000000..37562dcb --- /dev/null +++ b/Meshconvert/Meshconvert_Desktop_2026_Win10.vcxproj @@ -0,0 +1,442 @@ + + + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Profile + ARM64 + + + Profile + Win32 + + + Profile + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + meshconvert + {6D4CFD0E-8772-462A-9AC1-7DBAD9C16880} + meshconvert + Win32Proj + 10.0 + + + + Application + true + Unicode + v145 + + + Application + true + Unicode + v145 + + + Application + true + Unicode + v145 + + + Application + true + Unicode + v145 + + + Application + true + Unicode + v145 + + + Application + true + Unicode + v145 + + + Application + true + Unicode + v145 + + + Application + true + Unicode + v145 + + + Application + true + Unicode + v145 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + meshconvert + true + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + meshconvert + true + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + meshconvert + true + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + meshconvert + true + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + meshconvert + true + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + meshconvert + true + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + meshconvert + true + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + meshconvert + true + + + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + meshconvert + true + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + StreamingSIMDExtensions2 + ..\DirectXMesh;..\Utilities;%(AdditionalIncludeDirectories) + true + WIN32;_DEBUG;DEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions) + true + /Zc:__cplusplus %(AdditionalOptions) + 26812 + stdcpp17 + + + ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies) + Console + true + true + true + + + false + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + ..\DirectXMesh;..\Utilities;%(AdditionalIncludeDirectories) + true + WIN32;_DEBUG;DEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions) + true + /Zc:__cplusplus %(AdditionalOptions) + 26812 + stdcpp17 + + + ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies) + Console + true + true + + + false + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + ..\DirectXMesh;..\Utilities;%(AdditionalIncludeDirectories) + true + WIN32;_DEBUG;DEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions) + true + /Zc:__cplusplus %(AdditionalOptions) + 26812 + stdcpp17 + + + ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies) + Console + true + + + false + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\DirectXMesh;..\Utilities;%(AdditionalIncludeDirectories) + true + WIN32;NDEBUG;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions) + Guard + true + /Zc:__cplusplus %(AdditionalOptions) + 26812 + stdcpp17 + + + ole32.lib;oleaut32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies) + true + Console + true + true + true + true + + + false + + + + + Level4 + MaxSpeed + Fast + ..\DirectXMesh;..\Utilities;%(AdditionalIncludeDirectories) + true + WIN32;NDEBUG;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions) + Guard + true + /Zc:__cplusplus %(AdditionalOptions) + 26812 + stdcpp17 + + + ole32.lib;oleaut32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies) + true + Console + true + true + true + + + false + + + + + Level4 + MaxSpeed + Fast + ..\DirectXMesh;..\Utilities;%(AdditionalIncludeDirectories) + true + WIN32;NDEBUG;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions) + Guard + true + /Zc:__cplusplus %(AdditionalOptions) + 26812 + stdcpp17 + + + ole32.lib;oleaut32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies) + true + Console + true + true + + + false + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\DirectXMesh;..\Utilities;%(AdditionalIncludeDirectories) + true + WIN32;NDEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions) + Guard + true + /Zc:__cplusplus %(AdditionalOptions) + 26812 + stdcpp17 + + + ole32.lib;oleaut32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies) + true + Console + true + true + true + true + + + false + + + + + Level4 + MaxSpeed + Fast + ..\DirectXMesh;..\Utilities;%(AdditionalIncludeDirectories) + true + WIN32;NDEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions) + Guard + true + /Zc:__cplusplus %(AdditionalOptions) + 26812 + stdcpp17 + + + ole32.lib;oleaut32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies) + true + Console + true + true + true + + + false + + + + + Level4 + MaxSpeed + Fast + ..\DirectXMesh;..\Utilities;%(AdditionalIncludeDirectories) + true + WIN32;NDEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions) + Guard + true + /Zc:__cplusplus %(AdditionalOptions) + 26812 + stdcpp17 + + + ole32.lib;oleaut32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies) + true + Console + true + true + + + false + + + + + + + + + + + + + + + + {6857f086-f6fe-4150-9ed7-7446f1c1c220} + + + + + + + + + + + \ No newline at end of file diff --git a/Meshconvert/Meshconvert_Desktop_2026_Win10.vcxproj.filters b/Meshconvert/Meshconvert_Desktop_2026_Win10.vcxproj.filters new file mode 100644 index 00000000..563b74ee --- /dev/null +++ b/Meshconvert/Meshconvert_Desktop_2026_Win10.vcxproj.filters @@ -0,0 +1,48 @@ + + + + + {8e114980-c1a3-4ada-ad7c-83caadf5daeb} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + {a500efbf-87f7-4c3b-b7c4-a3505a25d342} + + + {ff7519a3-689d-4b30-829a-ffdacd003375} + + + + + + + + Wavefront OBJ + + + + + Wavefront OBJ + + + + RuntimeFormats + + + RuntimeFormats + + + RuntimeFormats + + + + + Resource Files + + + + + Resource Files + + + \ No newline at end of file From f815f56d75f81ca3993421cd5a5695dd63376e1d Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Tue, 10 Feb 2026 16:14:26 -0800 Subject: [PATCH 03/10] Initial GHA for 2026 --- .github/workflows/msbuild.yml | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index de09c9ad..44b8a2c1 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -42,7 +42,7 @@ jobs: platform: ARM64 steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Add MSBuild to PATH uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # v2.0.0 @@ -82,3 +82,26 @@ jobs: msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} /p:SpectreMitigation=Spectre DirectXMesh_Desktop_${{ matrix.vs }}_Win10.sln + + build2026: + runs-on: windows-2025-vs2026 + + strategy: + fail-fast: false + + matrix: + build_type: [Debug, Release] + platform: [x86, x64, ARM64] + + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + + - name: Add MSBuild to PATH + uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # v2.0.0 + + - name: 'Build VS 2026' + working-directory: ${{ github.workspace }} + run: > + msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} + DirectXMesh_Desktop_2026_Win10.slnx + From 665b6faf311eabfb73236d137a72bf43935e6a09 Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Tue, 10 Feb 2026 16:24:43 -0800 Subject: [PATCH 04/10] Add more VS 2026 --- .github/workflows/main.yml | 71 +++++++++++++++++++++++++++++++++++++- .github/workflows/test.yml | 67 +++++++++++++++++++++++++++++++++-- 2 files changed, 135 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e45dbbca..883082dc 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -96,7 +96,76 @@ jobs: arch: amd64_arm64 steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + + - name: 'Install Ninja' + run: choco install ninja + + - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 + with: + arch: ${{ matrix.arch }} + toolset: ${{ matrix.toolver }} + + - name: 'Configure CMake' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} + + - name: 'Build' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} + + - name: 'Clean up' + working-directory: ${{ github.workspace }} + run: Remove-Item -Path out -Recurse -Force + + - if: matrix.arch != 'amd64_arm64' + name: 'Configure CMake (Spectre)' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} -DENABLE_SPECTRE_MITIGATION=ON + + - if: matrix.arch != 'amd64_arm64' + name: 'Build (Spectre)' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} + + - if: matrix.arch != 'amd64_arm64' + name: 'Clean up' + working-directory: ${{ github.workspace }} + run: Remove-Item -Path out -Recurse -Force + + - name: 'Configure CMake (DLL)' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON + + - name: 'Build (DLL)' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} + + build2026: + runs-on: windows-2025-vs2026 + + strategy: + fail-fast: false + + matrix: + build_type: [x64-Debug, x64-Release] + arch: [amd64] + include: + - build_type: x86-Debug + arch: amd64_x86 + - build_type: x86-Release + arch: amd64_x86 + - build_type: arm64-Debug + arch: amd64_arm64 + - build_type: arm64-Release + arch: amd64_arm64 + - build_type: arm64ec-Debug + arch: amd64_arm64 + - build_type: arm64ec-Release + arch: amd64_arm64 + + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: 'Install Ninja' run: choco install ninja diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5e943ddf..3e86197a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -88,10 +88,73 @@ jobs: arch: amd64_arm64 steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Clone test repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + repository: walbourn/directxmeshtest + path: Tests + ref: main + + - name: 'Install Ninja' + run: choco install ninja + + - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 + with: + arch: ${{ matrix.arch }} + toolset: ${{ matrix.toolver }} + + - name: 'Configure CMake' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF + + - name: 'Build' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} + + - name: 'Clean up' + working-directory: ${{ github.workspace }} + run: Remove-Item -Path out -Recurse -Force + + - name: 'Configure CMake (DLL)' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF -DBUILD_SHARED_LIBS=ON + + - name: 'Build (DLL)' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} + + build2026: + runs-on: windows-2025-vs2026 + timeout-minutes: 20 + + strategy: + fail-fast: false + + matrix: + build_type: [x64-Debug, x64-Release] + arch: [amd64] + include: + - build_type: x86-Debug + arch: amd64_x86 + - build_type: x86-Release + arch: amd64_x86 + - build_type: arm64-Debug + arch: amd64_arm64 + - build_type: arm64-Release + arch: amd64_arm64 + - build_type: arm64ec-Debug + build_type: arm64ec-Debug + arch: amd64_arm64 + - build_type: arm64ec-Release + arch: amd64_arm64 + + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + + - name: Clone test repository + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: walbourn/directxmeshtest path: Tests From 297d2f128b1b9cba415f721978007b274c91276d Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Tue, 10 Feb 2026 16:39:03 -0800 Subject: [PATCH 05/10] Update linter --- .github/linters/actionlint.yml | 1 + .github/workflows/clangcl.yml | 135 +++++++++++++++++++++++++++++++++ .github/workflows/main.yml | 19 ----- .github/workflows/test.yml | 1 - 4 files changed, 136 insertions(+), 20 deletions(-) create mode 100644 .github/workflows/clangcl.yml diff --git a/.github/linters/actionlint.yml b/.github/linters/actionlint.yml index 8f70803a..56d57249 100644 --- a/.github/linters/actionlint.yml +++ b/.github/linters/actionlint.yml @@ -2,3 +2,4 @@ self-hosted-runner: # Workaround until linter is updated labels: - windows-11-arm + - winodws-2025-vs2026 diff --git a/.github/workflows/clangcl.yml b/.github/workflows/clangcl.yml new file mode 100644 index 00000000..5f6aad2d --- /dev/null +++ b/.github/workflows/clangcl.yml @@ -0,0 +1,135 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# +# https://go.microsoft.com/fwlink/?LinkID=324981 + +name: 'CMake (clang-cl)' + +on: + push: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.props + - build/*.ps1 + - build/*.targets + - build/*.xvd + pull_request: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.props + - build/*.ps1 + - build/*.targets + - build/*.xvd + +permissions: + contents: read + +jobs: + build: + runs-on: windows-2022 + + strategy: + fail-fast: false + + matrix: + build_type: [x64-Debug-Clang, x64-Release-Clang] + arch: [amd64] + include: + - build_type: x86-Debug-Clang + arch: amd64_x86 + - build_type: x86-Release-Clang + arch: amd64_x86 + - build_type: arm64-Debug-Clang + arch: amd64_arm64 + - build_type: arm64-Release-Clang + arch: amd64_arm64 + + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + + - name: 'Install Ninja' + run: choco install ninja + + - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 + with: + arch: ${{ matrix.arch }} + + - name: 'Configure CMake' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} + + - name: 'Build' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} + + - name: 'Clean up' + working-directory: ${{ github.workspace }} + run: Remove-Item -Path out -Recurse -Force + + - name: 'Configure CMake (DLL)' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON + + - name: 'Build (DLL)' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} + + build2026: + runs-on: windows-2025-vs2026 + + strategy: + fail-fast: false + + matrix: + build_type: [x64-Debug-Clang, x64-Release-Clang] + arch: [amd64] + include: + - build_type: x86-Debug-Clang + arch: amd64_x86 + - build_type: x86-Release-Clang + arch: amd64_x86 + - build_type: arm64-Debug-Clang + arch: amd64_arm64 + - build_type: arm64-Release-Clang + arch: amd64_arm64 + + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + + - name: 'Install Ninja' + run: choco install ninja + + - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 + with: + arch: ${{ matrix.arch }} + toolset: ${{ matrix.toolver }} + + - name: 'Configure CMake' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} + + - name: 'Build' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} + + - name: 'Clean up' + working-directory: ${{ github.workspace }} + run: Remove-Item -Path out -Recurse -Force + + - name: 'Configure CMake (DLL)' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON + + - name: 'Build (DLL)' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 883082dc..6f82ceb5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -76,24 +76,6 @@ jobs: - toolver: '14' build_type: x64-Release-Win8 arch: amd64 - - toolver: '14' - build_type: x64-Debug-Clang - arch: amd64 - - toolver: '14' - build_type: x64-Release-Clang - arch: amd64 - - toolver: '14' - build_type: x86-Debug-Clang - arch: amd64_x86 - - toolver: '14' - build_type: x86-Release-Clang - arch: amd64_x86 - - toolver: '14' - build_type: arm64-Debug-Clang - arch: amd64_arm64 - - toolver: '14' - build_type: arm64-Release-Clang - arch: amd64_arm64 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -173,7 +155,6 @@ jobs: - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 with: arch: ${{ matrix.arch }} - toolset: ${{ matrix.toolver }} - name: 'Configure CMake' working-directory: ${{ github.workspace }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3e86197a..26ba6c2e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -166,7 +166,6 @@ jobs: - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 with: arch: ${{ matrix.arch }} - toolset: ${{ matrix.toolver }} - name: 'Configure CMake' working-directory: ${{ github.workspace }} From 62876861e8626b59a46526324000ffbc917ca251 Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Tue, 10 Feb 2026 16:44:43 -0800 Subject: [PATCH 06/10] Fix lint --- .github/linters/actionlint.yml | 2 +- .github/workflows/clangcl.yml | 1 - .github/workflows/msbuild.yml | 1 - .github/workflows/test.yml | 1 - 4 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/linters/actionlint.yml b/.github/linters/actionlint.yml index 56d57249..5a720176 100644 --- a/.github/linters/actionlint.yml +++ b/.github/linters/actionlint.yml @@ -2,4 +2,4 @@ self-hosted-runner: # Workaround until linter is updated labels: - windows-11-arm - - winodws-2025-vs2026 + - windows-2025-vs2026 diff --git a/.github/workflows/clangcl.yml b/.github/workflows/clangcl.yml index 5f6aad2d..22163ef9 100644 --- a/.github/workflows/clangcl.yml +++ b/.github/workflows/clangcl.yml @@ -112,7 +112,6 @@ jobs: - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 with: arch: ${{ matrix.arch }} - toolset: ${{ matrix.toolver }} - name: 'Configure CMake' working-directory: ${{ github.workspace }} diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 44b8a2c1..2d857624 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -104,4 +104,3 @@ jobs: run: > msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} DirectXMesh_Desktop_2026_Win10.slnx - diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 26ba6c2e..e0351d49 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -145,7 +145,6 @@ jobs: - build_type: arm64-Release arch: amd64_arm64 - build_type: arm64ec-Debug - build_type: arm64ec-Debug arch: amd64_arm64 - build_type: arm64ec-Release arch: amd64_arm64 From 4198fcfe705b3bc83d52403b5ec6e7ae13aa5806 Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Tue, 10 Feb 2026 16:54:12 -0800 Subject: [PATCH 07/10] Load balance GHAs to 20 or less --- .github/workflows/clangcl.yml | 14 ++++++++++++-- .github/workflows/main.yml | 4 ---- .github/workflows/test.yml | 12 ------------ 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/.github/workflows/clangcl.yml b/.github/workflows/clangcl.yml index 22163ef9..4d7c3db9 100644 --- a/.github/workflows/clangcl.yml +++ b/.github/workflows/clangcl.yml @@ -31,6 +31,9 @@ on: - build/*.targets - build/*.xvd +env: + DIRECTXMESH_MEDIA_PATH: ${{ github.workspace }}/Media + permissions: contents: read @@ -57,6 +60,13 @@ jobs: steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - name: Clone test repository + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + repository: walbourn/directxmeshtest + path: Tests + ref: main + - name: 'Install Ninja' run: choco install ninja @@ -66,7 +76,7 @@ jobs: - name: 'Configure CMake' working-directory: ${{ github.workspace }} - run: cmake --preset=${{ matrix.build_type }} + run: cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON - name: 'Build' working-directory: ${{ github.workspace }} @@ -78,7 +88,7 @@ jobs: - name: 'Configure CMake (DLL)' working-directory: ${{ github.workspace }} - run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON + run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=ON - name: 'Build (DLL)' working-directory: ${{ github.workspace }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6f82ceb5..69dda264 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -141,10 +141,6 @@ jobs: arch: amd64_arm64 - build_type: arm64-Release arch: amd64_arm64 - - build_type: arm64ec-Debug - arch: amd64_arm64 - - build_type: arm64ec-Release - arch: amd64_arm64 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e0351d49..60d071e5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -62,18 +62,6 @@ jobs: - toolver: '14' build_type: x86-Release arch: amd64_x86 - - toolver: '14' - build_type: x64-Debug-Clang - arch: amd64 - - toolver: '14' - build_type: x64-Release-Clang - arch: amd64 - - toolver: '14' - build_type: x86-Debug-Clang - arch: amd64_x86 - - toolver: '14' - build_type: x86-Release-Clang - arch: amd64_x86 - toolver: '14' build_type: arm64-Debug arch: amd64_arm64 From e680c56a69a72ca2834e22bb76bb6ee17c1bcd20 Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Tue, 10 Feb 2026 17:47:41 -0800 Subject: [PATCH 08/10] Removed _Win10 from VS 2026 as it is now meaningles --- .github/workflows/msbuild.yml | 2 +- ...xproj => DirectXMesh_Desktop_2026.vcxproj} | 40 +++++++++---------- ... DirectXMesh_Desktop_2026.vcxproj.filters} | 0 ...in10.slnx => DirectXMesh_Desktop_2026.slnx | 4 +- ...xproj => Meshconvert_Desktop_2026.vcxproj} | 38 +++++++++--------- ... Meshconvert_Desktop_2026.vcxproj.filters} | 0 6 files changed, 42 insertions(+), 42 deletions(-) rename DirectXMesh/{DirectXMesh_Desktop_2026_Win10.vcxproj => DirectXMesh_Desktop_2026.vcxproj} (93%) rename DirectXMesh/{DirectXMesh_Desktop_2026_Win10.vcxproj.filters => DirectXMesh_Desktop_2026.vcxproj.filters} (100%) rename DirectXMesh_Desktop_2026_Win10.slnx => DirectXMesh_Desktop_2026.slnx (69%) rename Meshconvert/{Meshconvert_Desktop_2026_Win10.vcxproj => Meshconvert_Desktop_2026.vcxproj} (94%) rename Meshconvert/{Meshconvert_Desktop_2026_Win10.vcxproj.filters => Meshconvert_Desktop_2026.vcxproj.filters} (100%) diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 2d857624..92e0165f 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -103,4 +103,4 @@ jobs: working-directory: ${{ github.workspace }} run: > msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} - DirectXMesh_Desktop_2026_Win10.slnx + DirectXMesh_Desktop_2026.slnx diff --git a/DirectXMesh/DirectXMesh_Desktop_2026_Win10.vcxproj b/DirectXMesh/DirectXMesh_Desktop_2026.vcxproj similarity index 93% rename from DirectXMesh/DirectXMesh_Desktop_2026_Win10.vcxproj rename to DirectXMesh/DirectXMesh_Desktop_2026.vcxproj index c722698b..4f795809 100644 --- a/DirectXMesh/DirectXMesh_Desktop_2026_Win10.vcxproj +++ b/DirectXMesh/DirectXMesh_Desktop_2026.vcxproj @@ -126,62 +126,62 @@ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ DirectXMesh true - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ DirectXMesh true - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ DirectXMesh true - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ DirectXMesh true - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ DirectXMesh true - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ DirectXMesh true - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ DirectXMesh true - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ DirectXMesh true - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ DirectXMesh true - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)Spectre\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)Spectre\ + Bin\Desktop_2026\$(Platform)\$(Configuration)Spectre\ + Bin\Desktop_2026\$(Platform)\$(Configuration)Spectre\ DirectXMesh_Spectre diff --git a/DirectXMesh/DirectXMesh_Desktop_2026_Win10.vcxproj.filters b/DirectXMesh/DirectXMesh_Desktop_2026.vcxproj.filters similarity index 100% rename from DirectXMesh/DirectXMesh_Desktop_2026_Win10.vcxproj.filters rename to DirectXMesh/DirectXMesh_Desktop_2026.vcxproj.filters diff --git a/DirectXMesh_Desktop_2026_Win10.slnx b/DirectXMesh_Desktop_2026.slnx similarity index 69% rename from DirectXMesh_Desktop_2026_Win10.slnx rename to DirectXMesh_Desktop_2026.slnx index 5473dcfa..6948dd31 100644 --- a/DirectXMesh_Desktop_2026_Win10.slnx +++ b/DirectXMesh_Desktop_2026.slnx @@ -10,6 +10,6 @@ - - + + diff --git a/Meshconvert/Meshconvert_Desktop_2026_Win10.vcxproj b/Meshconvert/Meshconvert_Desktop_2026.vcxproj similarity index 94% rename from Meshconvert/Meshconvert_Desktop_2026_Win10.vcxproj rename to Meshconvert/Meshconvert_Desktop_2026.vcxproj index 37562dcb..5d3bc5cc 100644 --- a/Meshconvert/Meshconvert_Desktop_2026_Win10.vcxproj +++ b/Meshconvert/Meshconvert_Desktop_2026.vcxproj @@ -131,56 +131,56 @@ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ meshconvert true - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ meshconvert true - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ meshconvert true - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ meshconvert true - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ meshconvert true - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ meshconvert true - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ meshconvert true - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ meshconvert true - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ - Bin\Desktop_2026_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ + Bin\Desktop_2026\$(Platform)\$(Configuration)\ meshconvert true @@ -427,7 +427,7 @@ - + {6857f086-f6fe-4150-9ed7-7446f1c1c220} diff --git a/Meshconvert/Meshconvert_Desktop_2026_Win10.vcxproj.filters b/Meshconvert/Meshconvert_Desktop_2026.vcxproj.filters similarity index 100% rename from Meshconvert/Meshconvert_Desktop_2026_Win10.vcxproj.filters rename to Meshconvert/Meshconvert_Desktop_2026.vcxproj.filters From f926661f0f1f6f2a290f069921bdc187ba25f7ee Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Tue, 10 Feb 2026 20:06:55 -0800 Subject: [PATCH 09/10] Trim some duplicate ADO pipes --- .../pipelines/DirectXMesh-GitHub-WSL-13.yml | 148 ------------------ .azuredevops/pipelines/DirectXMesh-GitHub.yml | 87 ---------- 2 files changed, 235 deletions(-) delete mode 100644 .azuredevops/pipelines/DirectXMesh-GitHub-WSL-13.yml delete mode 100644 .azuredevops/pipelines/DirectXMesh-GitHub.yml diff --git a/.azuredevops/pipelines/DirectXMesh-GitHub-WSL-13.yml b/.azuredevops/pipelines/DirectXMesh-GitHub-WSL-13.yml deleted file mode 100644 index 33cc26f7..00000000 --- a/.azuredevops/pipelines/DirectXMesh-GitHub-WSL-13.yml +++ /dev/null @@ -1,148 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# -# https://go.microsoft.com/fwlink/?LinkID=324981 - -# Builds the library for Windows Subsystem for Linux (WSL) - -schedules: - - cron: "0 1 * * *" - displayName: 'Nightly build' - branches: - include: - - main - -trigger: none - -pr: - branches: - include: - - main - paths: - include: - - '.azuredevops/pipelines/DirectXMesh-GitHub-WSL-13.yml' - - CMake* - - build/*.cmake - - build/*.in - -resources: - repositories: - - repository: self - type: git - ref: refs/heads/main - trigger: none - - repository: dxHeadersRepo - name: Microsoft/DirectX-Headers - type: github - endpoint: microsoft - ref: refs/heads/main - - repository: dxMathRepo - name: Microsoft/DirectXMath - type: github - endpoint: microsoft - ref: refs/heads/main - -name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r) - -pool: - vmImage: ubuntu-24.04 - -variables: - Codeql.Enabled: false - LOCAL_PKG_DIR: '$(Agent.BuildDirectory)/install/' - SAL_URL: https://raw.githubusercontent.com/dotnet/runtime/v8.0.1/src/coreclr/pal/inc/rt/sal.h - SAL_HASH: 0f5a80b97564217db2ba3e4624cc9eb308e19cc9911dae21d983c4ab37003f4756473297ba81b386c498514cedc1ef5a3553d7002edc09aeb6a1335df973095f - -jobs: - - job: BUILD_WSL - displayName: 'Windows Subsystem for Linux (WSL)' - timeoutInMinutes: 120 - cancelTimeoutInMinutes: 1 - steps: - - checkout: self - clean: true - fetchTags: false - fetchDepth: 1 - path: 's' - - checkout: dxHeadersRepo - displayName: Fetch DirectX-Headers - clean: true - fetchTags: false - fetchDepth: 1 - path: 's/DirectX-Headers' - - checkout: dxMathRepo - displayName: Fetch DirectX-Math - clean: true - fetchTags: false - fetchDepth: 1 - path: 's/DirectXMath' - - task: CMake@1 - displayName: CMake DirectX-Headers - inputs: - cwd: DirectX-Headers - cmakeArgs: > - . -DDXHEADERS_BUILD_TEST=OFF -DDXHEADERS_BUILD_GOOGLE_TEST=OFF - -DCMAKE_INSTALL_PREFIX=$(LOCAL_PKG_DIR) - - task: CMake@1 - displayName: CMake DirectX-Headers (Build) - inputs: - cwd: DirectX-Headers - cmakeArgs: --build . -v - - task: CMake@1 - displayName: CMake DirectX-Headers (Install) - inputs: - cwd: DirectX-Headers - cmakeArgs: --install . - - task: CMake@1 - displayName: CMake DirectXMath - inputs: - cwd: DirectXMath - cmakeArgs: . -DCMAKE_INSTALL_PREFIX=$(LOCAL_PKG_DIR) - - task: CMake@1 - displayName: CMake DirectXMath (Build) - inputs: - cwd: DirectXMath - cmakeArgs: --build . -v - - task: CMake@1 - displayName: CMake DirectXMath (Install) - inputs: - cwd: DirectXMath - cmakeArgs: --install . - - task: PowerShell@2 - displayName: Fetch SAL.H - inputs: - targetType: inline - script: | - $ProgressPreference = 'SilentlyContinue' - Invoke-WebRequest -Uri "$(SAL_URL)" -OutFile $(LOCAL_PKG_DIR)/include/sal.h - $fileHash = Get-FileHash -Algorithm SHA512 $(LOCAL_PKG_DIR)/include/sal.h | ForEach { $_.Hash} | Out-String - $filehash = $fileHash.Trim() - Write-Host "##[debug]SHA512: " $filehash - if ($fileHash -ne "$(SAL_HASH)") { - Write-Error -Message "##[error]Computed hash does not match!" -ErrorAction Stop - } - - - task: CMake@1 - displayName: CMake DirectXMesh (Config) dbg - inputs: - cwd: $(Build.SourcesDirectory) - cmakeArgs: > - -B out -DCMAKE_BUILD_TYPE=Debug - -DCMAKE_PREFIX_PATH=$(LOCAL_PKG_DIR)/share;$(LOCAL_PKG_DIR)/cmake - - task: CMake@1 - displayName: CMake DirectXMesh (Build) dbg - inputs: - cwd: $(Build.SourcesDirectory) - cmakeArgs: --build out -v - - task: CMake@1 - displayName: CMake DirectXMesh (Config) rel - inputs: - cwd: $(Build.SourcesDirectory) - cmakeArgs: > - -B out2 -DCMAKE_BUILD_TYPE=Release - -DCMAKE_PREFIX_PATH=$(LOCAL_PKG_DIR)/share;$(LOCAL_PKG_DIR)/cmake - - task: CMake@1 - displayName: CMake DirectXMesh (Build) rel - inputs: - cwd: $(Build.SourcesDirectory) - cmakeArgs: --build out2 -v diff --git a/.azuredevops/pipelines/DirectXMesh-GitHub.yml b/.azuredevops/pipelines/DirectXMesh-GitHub.yml deleted file mode 100644 index faa24365..00000000 --- a/.azuredevops/pipelines/DirectXMesh-GitHub.yml +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# -# https://go.microsoft.com/fwlink/?LinkID=324981 - -# Builds the library for Windows Desktop. - -schedules: - - cron: "0 6 * * *" - displayName: 'Nightly build' - branches: - include: - - main - -# GitHub Actions handles MSBuild for CI/PR -trigger: none -pr: - branches: - include: - - main - paths: - include: - - '.azuredevops/pipelines/DirectXMesh-GitHub.yml' - -resources: - repositories: - - repository: self - type: git - ref: refs/heads/main - -name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r) - -variables: - Codeql.Enabled: false - -pool: - vmImage: windows-2022 - -jobs: - - job: DESKTOP_BUILD - displayName: 'Windows Desktop' - timeoutInMinutes: 120 - cancelTimeoutInMinutes: 1 - strategy: - maxParallel: 2 - matrix: - Release_x64: - BuildPlatform: x64 - BuildConfiguration: Release - SpectreMitigation: false - Debug_x64: - BuildPlatform: x64 - BuildConfiguration: Debug - SpectreMitigation: false - Release_x86: - BuildPlatform: x86 - BuildConfiguration: Release - SpectreMitigation: false - Debug_x86: - BuildPlatform: x86 - BuildConfiguration: Debug - SpectreMitigation: false - # windows-2022 image is missing v142 spectre-mitigated libraries - steps: - - checkout: self - clean: true - fetchTags: false - - task: MSBuild@1 - displayName: Log Information - inputs: - solution: build/LogInfo.targets - platform: '$(BuildPlatform)' - configuration: '$(BuildConfiguration)' - - task: VSBuild@1 - displayName: Build solution DirectXMesh_Desktop_2019.sln - inputs: - solution: DirectXMesh_Desktop_2019.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=$(SpectreMitigation) - platform: '$(BuildPlatform)' - configuration: '$(BuildConfiguration)' - - task: VSBuild@1 - displayName: Build solution DirectXMesh_Desktop_2019_Win10.sln - inputs: - solution: DirectXMesh_Desktop_2019_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=$(SpectreMitigation) - platform: '$(BuildPlatform)' - configuration: '$(BuildConfiguration)' From 8e25dd4ba5883ad5b874a317ff3092e091b49bfd Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Tue, 10 Feb 2026 20:14:51 -0800 Subject: [PATCH 10/10] Trim ADO test pipelines --- .../DirectXMesh-GitHub-Test-Dev17.yml | 61 ------------ .../pipelines/DirectXMesh-GitHub-Test.yml | 95 ------------------- 2 files changed, 156 deletions(-) delete mode 100644 .azuredevops/pipelines/DirectXMesh-GitHub-Test.yml diff --git a/.azuredevops/pipelines/DirectXMesh-GitHub-Test-Dev17.yml b/.azuredevops/pipelines/DirectXMesh-GitHub-Test-Dev17.yml index e31e66cc..95f6df94 100644 --- a/.azuredevops/pipelines/DirectXMesh-GitHub-Test-Dev17.yml +++ b/.azuredevops/pipelines/DirectXMesh-GitHub-Test-Dev17.yml @@ -43,67 +43,6 @@ variables: VC_PATH: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC' jobs: - - job: DESKTOP_BUILD - displayName: 'Windows Desktop' - timeoutInMinutes: 120 - cancelTimeoutInMinutes: 1 - strategy: - maxParallel: 3 - matrix: - Release_arm64: - BuildPlatform: ARM64 - BuildConfiguration: Release - Debug_arm64: - BuildPlatform: ARM64 - BuildConfiguration: Debug - Release_x64: - BuildPlatform: x64 - BuildConfiguration: Release - Debug_x64: - BuildPlatform: x64 - BuildConfiguration: Debug - Release_x86: - BuildPlatform: x86 - BuildConfiguration: Release - Debug_x86: - BuildPlatform: x86 - BuildConfiguration: Debug - steps: - - checkout: self - clean: true - fetchTags: false - fetchDepth: 1 - path: 's' - - checkout: testRepo - displayName: Fetch Tests - clean: true - fetchTags: false - fetchDepth: 1 - path: 's/Tests' - - task: MSBuild@1 - displayName: Log Information - inputs: - solution: build/LogInfo.targets - platform: '$(BuildPlatform)' - configuration: '$(BuildConfiguration)' - - task: VSBuild@1 - displayName: Build solution DirectXMesh_Tests_Desktop_2022.sln - inputs: - solution: Tests/DirectXMesh_Tests_Desktop_2022.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: '$(BuildPlatform)' - configuration: '$(BuildConfiguration)' - msbuildArchitecture: x64 - condition: ne(variables['BuildPlatform'], 'ARM64') - - task: VSBuild@1 - displayName: Build solution DirectXMesh_Tests_Desktop_2022_Win10.sln - inputs: - solution: Tests/DirectXMesh_Tests_Desktop_2022_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: '$(BuildPlatform)' - configuration: '$(BuildConfiguration)' - msbuildArchitecture: x64 - - job: CMAKE_BUILD_X64 displayName: 'CMake for X64 BUILD_TESTING=ON' timeoutInMinutes: 60 diff --git a/.azuredevops/pipelines/DirectXMesh-GitHub-Test.yml b/.azuredevops/pipelines/DirectXMesh-GitHub-Test.yml deleted file mode 100644 index e8a16d4a..00000000 --- a/.azuredevops/pipelines/DirectXMesh-GitHub-Test.yml +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# -# https://go.microsoft.com/fwlink/?LinkID=324981 - -# Builds the library and test suite. - -schedules: - - cron: "30 3 * * *" - displayName: 'Nightly build' - branches: - include: - - main - -# GitHub Actions handles test suite for CI/PR -trigger: none -pr: - branches: - include: - - main - paths: - include: - - '.azuredevops/pipelines/DirectXMesh-GitHub-Test.yml' - -resources: - repositories: - - repository: self - type: git - ref: refs/heads/main - - repository: testRepo - name: walbourn/directxmeshtest - type: github - endpoint: microsoft - ref: refs/heads/main - -name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r) - -pool: - vmImage: windows-2022 - -variables: - Codeql.Enabled: false - -jobs: - - job: DESKTOP_BUILD - displayName: 'Windows Desktop' - timeoutInMinutes: 120 - cancelTimeoutInMinutes: 1 - strategy: - maxParallel: 2 - matrix: - Release_x64: - BuildPlatform: x64 - BuildConfiguration: Release - Debug_x64: - BuildPlatform: x64 - BuildConfiguration: Debug - Release_x86: - BuildPlatform: x86 - BuildConfiguration: Release - Debug_x86: - BuildPlatform: x86 - BuildConfiguration: Debug - steps: - - checkout: self - clean: true - fetchTags: false - fetchDepth: 1 - path: 's' - - checkout: testRepo - displayName: Fetch Tests - clean: true - fetchTags: false - fetchDepth: 1 - path: 's/Tests' - - task: MSBuild@1 - displayName: Log Information - inputs: - solution: build/LogInfo.targets - platform: '$(BuildPlatform)' - configuration: '$(BuildConfiguration)' - - task: VSBuild@1 - displayName: Build solution DirectXMesh_Tests_Desktop_2019.sln - inputs: - solution: Tests/DirectXMesh_Tests_Desktop_2019.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: '$(BuildPlatform)' - configuration: '$(BuildConfiguration)' - - task: VSBuild@1 - displayName: Build solution DirectXMesh_Tests_Desktop_2019_Win10.sln - inputs: - solution: Tests/DirectXMesh_Tests_Desktop_2019_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: '$(BuildPlatform)' - configuration: '$(BuildConfiguration)'