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)'
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)'
diff --git a/.github/linters/actionlint.yml b/.github/linters/actionlint.yml
index 8f70803a..5a720176 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
+ - windows-2025-vs2026
diff --git a/.github/workflows/clangcl.yml b/.github/workflows/clangcl.yml
new file mode 100644
index 00000000..4d7c3db9
--- /dev/null
+++ b/.github/workflows/clangcl.yml
@@ -0,0 +1,144 @@
+# 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
+
+env:
+ DIRECTXMESH_MEDIA_PATH: ${{ github.workspace }}/Media
+
+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: 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
+
+ - 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 }} -DBUILD_TESTING=ON
+
+ - 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 -DBUILD_TESTING=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 }}
+
+ - 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 e45dbbca..69dda264 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -76,27 +76,74 @@ 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
+
+ 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
+
+ - 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
- - toolver: '14'
- build_type: x86-Release-Clang
+ - build_type: x86-Release
arch: amd64_x86
- - toolver: '14'
- build_type: arm64-Debug-Clang
+ - build_type: arm64-Debug
arch: amd64_arm64
- - toolver: '14'
- build_type: arm64-Release-Clang
+ - build_type: arm64-Release
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
@@ -104,7 +151,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 de09c9ad..92e0165f 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,25 @@ 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.slnx
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 5e943ddf..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
@@ -88,10 +76,10 @@ 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
@@ -124,3 +112,64 @@ jobs:
- 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
+ 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
+ ref: main
+
+ - 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 }} -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 }}
diff --git a/DirectXMesh/DirectXMesh_Desktop_2026.vcxproj b/DirectXMesh/DirectXMesh_Desktop_2026.vcxproj
new file mode 100644
index 00000000..4f795809
--- /dev/null
+++ b/DirectXMesh/DirectXMesh_Desktop_2026.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\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXMesh
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXMesh
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXMesh
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXMesh
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXMesh
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXMesh
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXMesh
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXMesh
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXMesh
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)Spectre\
+ Bin\Desktop_2026\$(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.vcxproj.filters b/DirectXMesh/DirectXMesh_Desktop_2026.vcxproj.filters
new file mode 100644
index 00000000..62163bc8
--- /dev/null
+++ b/DirectXMesh/DirectXMesh_Desktop_2026.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.slnx b/DirectXMesh_Desktop_2026.slnx
new file mode 100644
index 00000000..6948dd31
--- /dev/null
+++ b/DirectXMesh_Desktop_2026.slnx
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Meshconvert/Meshconvert_Desktop_2026.vcxproj b/Meshconvert/Meshconvert_Desktop_2026.vcxproj
new file mode 100644
index 00000000..5d3bc5cc
--- /dev/null
+++ b/Meshconvert/Meshconvert_Desktop_2026.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\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ meshconvert
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ meshconvert
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ meshconvert
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ meshconvert
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ meshconvert
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ meshconvert
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ meshconvert
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ meshconvert
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(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.vcxproj.filters b/Meshconvert/Meshconvert_Desktop_2026.vcxproj.filters
new file mode 100644
index 00000000..563b74ee
--- /dev/null
+++ b/Meshconvert/Meshconvert_Desktop_2026.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
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