From 169f7cf3504c7f2c0cca1dbb3ecc515e66add7ef Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Fri, 23 May 2025 13:00:15 -0700 Subject: [PATCH] Cleanup of ADO pipeline YAML files (#615) --- .../DirectXTex-GitHub-CMake-Dev17.yml | 4 +- .../DirectXTex-GitHub-CMake-Xbox-Dev17.yml | 195 ++++++++++++ .../DirectXTex-GitHub-CMake-Xbox.yml | 4 +- .../pipelines/DirectXTex-GitHub-CMake.yml | 4 +- .../pipelines/DirectXTex-GitHub-Dev17.yml | 290 +++++------------- .../pipelines/DirectXTex-GitHub-GDK-Dev17.yml | 105 +------ .../pipelines/DirectXTex-GitHub-GDK.yml | 108 +------ .../pipelines/DirectXTex-GitHub-MinGW.yml | 4 +- .../DirectXTex-GitHub-SDK-prerelease.yml | 134 +------- .../DirectXTex-GitHub-SDK-release.yml | 134 +------- .../DirectXTex-GitHub-Test-Dev17.yml | 109 ++----- .../pipelines/DirectXTex-GitHub-Test.yml | 77 ++--- .../pipelines/DirectXTex-GitHub-VCPKG.yml | 4 +- .azuredevops/pipelines/DirectXTex-GitHub.yml | 162 +++------- .../templates/DirectXTex-build-gdk.yml | 120 ++++++++ .../templates/DirectXTex-build-uwp.yml | 57 ++++ .../templates/DirectXTex-build-win32.yml | 89 ++++++ .github/workflows/bvt.yml | 13 +- .github/workflows/codeql.yml | 13 +- .github/workflows/main.yml | 13 +- .github/workflows/msbuild.yml | 8 +- .github/workflows/msvc.yml | 13 +- .github/workflows/test.yml | 13 +- .github/workflows/uwp.yml | 13 +- .github/workflows/vcpkg.yml | 11 +- .github/workflows/wsl.yml | 13 +- CMakePresets.json | 5 + build/copysourcetree.flt | 14 + build/copysourcetree.ps1 | 107 +++++++ 29 files changed, 896 insertions(+), 940 deletions(-) create mode 100644 .azuredevops/templates/DirectXTex-build-gdk.yml create mode 100644 .azuredevops/templates/DirectXTex-build-uwp.yml create mode 100644 .azuredevops/templates/DirectXTex-build-win32.yml create mode 100644 build/copysourcetree.flt create mode 100644 build/copysourcetree.ps1 diff --git a/.azuredevops/pipelines/DirectXTex-GitHub-CMake-Dev17.yml b/.azuredevops/pipelines/DirectXTex-GitHub-CMake-Dev17.yml index 2eeb30d..a61e2c6 100644 --- a/.azuredevops/pipelines/DirectXTex-GitHub-CMake-Dev17.yml +++ b/.azuredevops/pipelines/DirectXTex-GitHub-CMake-Dev17.yml @@ -20,7 +20,7 @@ trigger: exclude: - '*.md' - LICENSE - - '.github/*' + - '.github/**' - '.nuget/*' - build/*.cmd - build/OneFuzz*.json @@ -36,7 +36,7 @@ pr: exclude: - '*.md' - LICENSE - - '.github/*' + - '.github/**' - '.nuget/*' - build/*.cmd - build/OneFuzz*.json diff --git a/.azuredevops/pipelines/DirectXTex-GitHub-CMake-Xbox-Dev17.yml b/.azuredevops/pipelines/DirectXTex-GitHub-CMake-Xbox-Dev17.yml index 87172bd..3e2142f 100644 --- a/.azuredevops/pipelines/DirectXTex-GitHub-CMake-Xbox-Dev17.yml +++ b/.azuredevops/pipelines/DirectXTex-GitHub-CMake-Xbox-Dev17.yml @@ -33,6 +33,11 @@ resources: type: git ref: refs/heads/main trigger: none + - repository: testRepo + name: walbourn/directxtextest + type: github + endpoint: microsoft + ref: refs/heads/main name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r) @@ -48,6 +53,8 @@ variables: value: '$(ExtractedFolder)' - name: URL_FEED value: $(ADOFeedURL) +- name: VC_PATH + value: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC' - name: GameDKLatest value: '$(ExtractedFolder)\Microsoft.gdk.xbox.$(GDK_EDITION)\native\$(GDK_EDITION)\' - name: skipNugetSecurityAnalysis @@ -198,3 +205,191 @@ jobs: inputs: cwd: '' cmakeArgs: --build out6 -v --config Debug + +- job: BUILD_GDK_CMAKE_XS + displayName: 'Xbox Series X|S Extensions BUILD_TESTING=ON' + timeoutInMinutes: 120 + cancelTimeoutInMinutes: 1 + 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: NuGetToolInstaller@1 + displayName: 'Use NuGet' + - task: PowerShell@2 + displayName: 'Create nuget.config with single source' + inputs: + targetType: inline + script: | + $xml = @' + + + + + + + '@ + $xml | Set-Content -Path "$(Build.SourcesDirectory)\NuGet.config" + + - task: NuGetCommand@2 + # We have to use a nuget.config to provide the feed for the 'nuget install' option. + displayName: 'NuGet set package source to ADO feed' + inputs: + command: custom + arguments: sources add -Name xboxgdk -Source $(URL_FEED) -ConfigFile $(Build.SourcesDirectory)\NuGet.config + - task: nuget-security-analysis@0 + displayName: 'Secure Supply Chain Analysis' + - task: NuGetAuthenticate@1 + displayName: 'NuGet Auth' + - task: NuGetCommand@2 + displayName: NuGet install PGDK + inputs: + command: custom + arguments: install -prerelease Microsoft.GDK.PC.$(GDK_EDITION) -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER) + - task: NuGetCommand@2 + displayName: NuGet install GDKX + inputs: + command: custom + arguments: install -prerelease Microsoft.GDK.Xbox.$(GDK_EDITION) -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER) + - task: CmdLine@2 + displayName: Setup BWOI for GDK command-line + inputs: + script: | + call "$(VC_PATH)\Auxiliary\Build\vcvars64.bat" + echo ##vso[task.setvariable variable=WindowsSdkVerBinPath;]%WindowsSdkVerBinPath% + echo ##vso[task.prependpath]%VSINSTALLDIR%Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja + echo ##vso[task.prependpath]%VCINSTALLDIR%Tools\Llvm\x64\bin + echo ##vso[task.prependpath]%WindowsSdkBinPath%x64 + echo ##vso[task.prependpath]%WindowsSdkVerBinPath%x64 + echo ##vso[task.prependpath]%VCToolsInstallDir%bin\HostX64\x64 + call $(Build.SourcesDirectory)\build\SetupBWOI.cmd $(EXTRACTED_FOLDER) $(GDK_EDITION) Scarlett + echo ##vso[task.setvariable variable=GameDKLatest;]%GameDKLatest% + echo ##vso[task.setvariable variable=GRDKLatest;]%GRDKLatest% + echo ##vso[task.setvariable variable=GXDKLatest;]%GXDKLatest% + echo ##vso[task.setvariable variable=INCLUDE;]%INCLUDE% + echo ##vso[task.setvariable variable=LIB;]%LIB% + echo ##vso[task.prependpath]%ADDBIN% + + failOnStderr: true + - task: CMake@1 + displayName: 'CMake (MSVC): Config Debug' + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: --preset=x64-Debug-GDKX-S + - task: CMake@1 + displayName: 'CMake (MSVC): Build Debug' + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: --build out\build\x64-Debug-GDKX-S + - task: CMake@1 + displayName: 'CMake (MSVC): Config Release' + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: --preset=x64-Release-GDKX-S + - task: CMake@1 + displayName: 'CMake (MSVC): Build Release' + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: --build out\build\x64-Release-GDKX-S + +- job: BUILD_GDK_CMAKE_X + displayName: 'Xbox One Extensions BUILD_TESTING=ON' + timeoutInMinutes: 120 + cancelTimeoutInMinutes: 1 + 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: NuGetToolInstaller@1 + displayName: 'Use NuGet' + - task: PowerShell@2 + displayName: 'Create nuget.config with single source' + inputs: + targetType: inline + script: | + $xml = @' + + + + + + + '@ + $xml | Set-Content -Path "$(Build.SourcesDirectory)\NuGet.config" + + - task: NuGetCommand@2 + # We have to use a nuget.config to provide the feed for the 'nuget install' option. + displayName: 'NuGet set package source to ADO feed' + inputs: + command: custom + arguments: sources add -Name xboxgdk -Source $(URL_FEED) -ConfigFile $(Build.SourcesDirectory)\NuGet.config + - task: nuget-security-analysis@0 + displayName: 'Secure Supply Chain Analysis' + - task: NuGetAuthenticate@1 + displayName: 'NuGet Auth' + - task: NuGetCommand@2 + displayName: NuGet install PGDK + inputs: + command: custom + arguments: install -prerelease Microsoft.GDK.PC.$(GDK_EDITION) -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER) + - task: NuGetCommand@2 + displayName: NuGet install GDKX + inputs: + command: custom + arguments: install -prerelease Microsoft.GDK.Xbox.$(GDK_EDITION) -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER) + - task: CmdLine@2 + displayName: Setup BWOI for GDK command-line + inputs: + script: | + call "$(VC_PATH)\Auxiliary\Build\vcvars64.bat" + echo ##vso[task.setvariable variable=WindowsSdkVerBinPath;]%WindowsSdkVerBinPath% + echo ##vso[task.prependpath]%VSINSTALLDIR%Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja + echo ##vso[task.prependpath]%VCINSTALLDIR%Tools\Llvm\x64\bin + echo ##vso[task.prependpath]%WindowsSdkBinPath%x64 + echo ##vso[task.prependpath]%WindowsSdkVerBinPath%x64 + echo ##vso[task.prependpath]%VCToolsInstallDir%bin\HostX64\x64 + call $(Build.SourcesDirectory)\build\SetupBWOI.cmd $(EXTRACTED_FOLDER) $(GDK_EDITION) XboxOne + echo ##vso[task.setvariable variable=GameDKLatest;]%GameDKLatest% + echo ##vso[task.setvariable variable=GRDKLatest;]%GRDKLatest% + echo ##vso[task.setvariable variable=GXDKLatest;]%GXDKLatest% + echo ##vso[task.setvariable variable=INCLUDE;]%INCLUDE% + echo ##vso[task.setvariable variable=LIB;]%LIB% + echo ##vso[task.prependpath]%ADDBIN% + + failOnStderr: true + - task: CMake@1 + displayName: 'CMake (MSVC): Config Debug' + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: --preset=x64-Debug-GDKX + - task: CMake@1 + displayName: 'CMake (MSVC): Build Debug' + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: --build out\build\x64-Debug-GDKX + - task: CMake@1 + displayName: 'CMake (MSVC): Config Release' + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: --preset=x64-Release-GDKX + - task: CMake@1 + displayName: 'CMake (MSVC): Build Release' + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: --build out\build\x64-Release-GDKX diff --git a/.azuredevops/pipelines/DirectXTex-GitHub-CMake-Xbox.yml b/.azuredevops/pipelines/DirectXTex-GitHub-CMake-Xbox.yml index 3c829c0..07b79b2 100644 --- a/.azuredevops/pipelines/DirectXTex-GitHub-CMake-Xbox.yml +++ b/.azuredevops/pipelines/DirectXTex-GitHub-CMake-Xbox.yml @@ -20,7 +20,7 @@ trigger: exclude: - '*.md' - LICENSE - - '.github/*' + - '.github/**' - '.nuget/*' - build/*.cmd - build/*.json @@ -36,7 +36,7 @@ pr: exclude: - '*.md' - LICENSE - - '.github/*' + - '.github/**' - '.nuget/*' - build/*.cmd - build/*.json diff --git a/.azuredevops/pipelines/DirectXTex-GitHub-CMake.yml b/.azuredevops/pipelines/DirectXTex-GitHub-CMake.yml index 48deb4f..89f18f7 100644 --- a/.azuredevops/pipelines/DirectXTex-GitHub-CMake.yml +++ b/.azuredevops/pipelines/DirectXTex-GitHub-CMake.yml @@ -20,7 +20,7 @@ trigger: exclude: - '*.md' - LICENSE - - '.github/*' + - '.github/**' - '.nuget/*' - build/*.cmd - build/OneFuzz*.json @@ -36,7 +36,7 @@ pr: exclude: - '*.md' - LICENSE - - '.github/*' + - '.github/**' - '.nuget/*' - build/*.cmd - build/OneFuzz*.json diff --git a/.azuredevops/pipelines/DirectXTex-GitHub-Dev17.yml b/.azuredevops/pipelines/DirectXTex-GitHub-Dev17.yml index f94c403..5669aa8 100644 --- a/.azuredevops/pipelines/DirectXTex-GitHub-Dev17.yml +++ b/.azuredevops/pipelines/DirectXTex-GitHub-Dev17.yml @@ -39,236 +39,116 @@ pool: jobs: - job: DESKTOP_BUILD - displayName: 'Win32 Desktop' + displayName: 'Windows Desktop' timeoutInMinutes: 120 cancelTimeoutInMinutes: 1 + strategy: + maxParallel: 3 + matrix: + Release_arm64: + BuildPlatform: ARM64 + BuildConfiguration: Release + SpectreMitigation: false + Debug_arm64: + BuildPlatform: ARM64 + BuildConfiguration: Debug + SpectreMitigation: false + 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 + Release_arm64_SpectreMitigated: + BuildPlatform: ARM64 + BuildConfiguration: Release + SpectreMitigation: 'Spectre' + Debug_arm64_SpectreMitigated: + BuildPlatform: ARM64 + BuildConfiguration: Debug + SpectreMitigation: 'Spectre' + Release_x64_SpectreMitigated: + BuildPlatform: x64 + BuildConfiguration: Release + SpectreMitigation: 'Spectre' + Debug_x64_SpectreMitigated: + BuildPlatform: x64 + BuildConfiguration: Debug + SpectreMitigation: 'Spectre' + Release_x86_SpectreMitigated: + BuildPlatform: x86 + BuildConfiguration: Release + SpectreMitigation: 'Spectre' + Debug_x86_SpectreMitigated: + BuildPlatform: x86 + BuildConfiguration: Debug + SpectreMitigation: 'Spectre' steps: - checkout: self clean: true fetchTags: false - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022.sln 32dbg + displayName: Build solution DirectXTex_Desktop_2022.sln inputs: solution: DirectXTex_Desktop_2022.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Debug + msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=$(SpectreMitigation) + platform: '$(BuildPlatform)' + configuration: '$(BuildConfiguration)' msbuildArchitecture: x64 + condition: ne(variables['BuildPlatform'], 'ARM64') - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022.sln 32rel - inputs: - solution: DirectXTex_Desktop_2022.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Release - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022.sln 64dbg - inputs: - solution: DirectXTex_Desktop_2022.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Debug - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022.sln 64rel - inputs: - solution: DirectXTex_Desktop_2022.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Release - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022_Win10.sln 32dbg + displayName: Build solution DirectXTex_Desktop_2022_Win10.sln inputs: solution: DirectXTex_Desktop_2022_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Debug - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022_Win10.sln 32rel - inputs: - solution: DirectXTex_Desktop_2022_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Release - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022_Win10.sln 64dbg - inputs: - solution: DirectXTex_Desktop_2022_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Debug - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022_Win10.sln 64rel - inputs: - solution: DirectXTex_Desktop_2022_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Release - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022_Win10.sln arm64dbg - inputs: - solution: DirectXTex_Desktop_2022_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: ARM64 - configuration: Debug - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022_Win10.sln arm64rel - inputs: - solution: DirectXTex_Desktop_2022_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: ARM64 - configuration: Release - msbuildArchitecture: x64 - -- job: DESKTOP_BUILD_SPECTRE - displayName: 'Win32 Desktop (Spectre-mitigated)' - timeoutInMinutes: 120 - cancelTimeoutInMinutes: 1 - steps: - - checkout: self - clean: true - fetchTags: false - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022.sln 32dbg - inputs: - solution: DirectXTex_Desktop_2022.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: x86 - configuration: Debug - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022.sln 32rel - inputs: - solution: DirectXTex_Desktop_2022.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: x86 - configuration: Release - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022.sln 64dbg - inputs: - solution: DirectXTex_Desktop_2022.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: x64 - configuration: Debug - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022.sln 64rel - inputs: - solution: DirectXTex_Desktop_2022.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: x64 - configuration: Release - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022_Win10.sln 32dbg - inputs: - solution: DirectXTex_Desktop_2022_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: x86 - configuration: Debug - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022_Win10.sln 32rel - inputs: - solution: DirectXTex_Desktop_2022_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: x86 - configuration: Release - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022_Win10.sln 64dbg - inputs: - solution: DirectXTex_Desktop_2022_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: x64 - configuration: Debug - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022_Win10.sln 64rel - inputs: - solution: DirectXTex_Desktop_2022_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: x64 - configuration: Release - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022_Win10.sln arm64dbg - inputs: - solution: DirectXTex_Desktop_2022_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: ARM64 - configuration: Debug - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022_Win10.sln arm64rel - inputs: - solution: DirectXTex_Desktop_2022_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: ARM64 - configuration: Release + msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=$(SpectreMitigation) + platform: '$(BuildPlatform)' + configuration: '$(BuildConfiguration)' msbuildArchitecture: x64 - job: UWP_BUILD displayName: 'Universal Windows Platform (UWP)' 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 - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln 32dbg + displayName: Build solution DirectXTex_Windows10_2022.sln inputs: solution: DirectXTex_Windows10_2022.sln msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Debug - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln 32rel - inputs: - solution: DirectXTex_Windows10_2022.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Release - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln 64dbg - inputs: - solution: DirectXTex_Windows10_2022.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Debug - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln 64rel - inputs: - solution: DirectXTex_Windows10_2022.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Release - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln arm64dbg - inputs: - solution: DirectXTex_Windows10_2022.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: ARM64 - configuration: Debug - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln arm64rel - inputs: - solution: DirectXTex_Windows10_2022.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: ARM64 - configuration: Release + platform: '$(BuildPlatform)' + configuration: '$(BuildConfiguration)' msbuildArchitecture: x64 diff --git a/.azuredevops/pipelines/DirectXTex-GitHub-GDK-Dev17.yml b/.azuredevops/pipelines/DirectXTex-GitHub-GDK-Dev17.yml index 4d24fff..12d8178 100644 --- a/.azuredevops/pipelines/DirectXTex-GitHub-GDK-Dev17.yml +++ b/.azuredevops/pipelines/DirectXTex-GitHub-GDK-Dev17.yml @@ -21,6 +21,7 @@ pr: paths: include: - '.azuredevops/pipelines/DirectXTex-GitHub-GDK-Dev17.yml' + - '.azuredevops/templates/DirectXTex-build-gdk.yml' - CMakeList.txt - build/*.in - build/*.cmake @@ -114,106 +115,10 @@ jobs: msbuildVersion: 17.0 msbuildArchitecture: x64 msbuildArguments: /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_2022 pcdbg - continueOnError: True - inputs: - solution: DirectXTex_GDK_2022.sln - vsVersion: 17.0 - platform: Gaming.Desktop.x64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_2022 pcrel - continueOnError: True - inputs: - solution: DirectXTex_GDK_2022.sln - vsVersion: 17.0 - platform: Gaming.Desktop.x64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_2022 xbdbg - continueOnError: True - inputs: - solution: DirectXTex_GDK_2022.sln - vsVersion: 17.0 - platform: Gaming.Xbox.XboxOne.x64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_2022 xbrel - continueOnError: True - inputs: - solution: DirectXTex_GDK_2022.sln - vsVersion: 17.0 - platform: Gaming.Xbox.XboxOne.x64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_2022 scardbg - continueOnError: True - inputs: - solution: DirectXTex_GDK_2022.sln - vsVersion: 17.0 - platform: Gaming.Xbox.Scarlett.x64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_2022 scarrel - continueOnError: True - inputs: - solution: DirectXTex_GDK_2022.sln - vsVersion: 17.0 - platform: Gaming.Xbox.Scarlett.x64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_PC_2022 dbg - continueOnError: True - inputs: - solution: DirectXTex_GXDK_PC_2022.sln - vsVersion: 17.0 - platform: x64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_PC_2022 rel - continueOnError: True - inputs: - solution: DirectXTex_GXDK_PC_2022.sln - vsVersion: 17.0 - platform: x64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_PC_2022 scardbg - continueOnError: True - inputs: - solution: DirectXTex_GXDK_PC_2022.sln - vsVersion: 17.0 - platform: x64 - configuration: Debug_Scarlett - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_PC_2022 scarrel - continueOnError: True - inputs: - solution: DirectXTex_GXDK_PC_2022.sln - vsVersion: 17.0 - platform: x64 - configuration: Release_Scarlett - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:GDKEditionNumber=$(GDK_EDITION) + - template: '/.azuredevops/templates/DirectXTex-build-gdk.yml' + parameters: + msVersion: '17.0' + vsYear: 2022 - job: BUILD_GDK_CMAKE_SCAR displayName: 'Microsoft Game Development Kit (GDK) using CMake (Scarlett)' diff --git a/.azuredevops/pipelines/DirectXTex-GitHub-GDK.yml b/.azuredevops/pipelines/DirectXTex-GitHub-GDK.yml index 625a402..13f284f 100644 --- a/.azuredevops/pipelines/DirectXTex-GitHub-GDK.yml +++ b/.azuredevops/pipelines/DirectXTex-GitHub-GDK.yml @@ -23,7 +23,7 @@ trigger: - '*.md' - LICENSE - CMake* - - '.github/*' + - '.github/**' - '.nuget/*' - build/*.cmake - build/*.cmd @@ -40,7 +40,7 @@ pr: - '*.md' - LICENSE - CMake* - - '.github/*' + - '.github/**' - '.nuget/*' - build/*.cmake - build/*.cmd @@ -132,103 +132,7 @@ jobs: msbuildVersion: 16.0 msbuildArchitecture: x64 msbuildArguments: /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_2019 pcdbg - continueOnError: True - inputs: - solution: DirectXTex_GDK_2019.sln - vsVersion: 16.0 - platform: Gaming.Desktop.x64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_2019 pcrel - continueOnError: True - inputs: - solution: DirectXTex_GDK_2019.sln - vsVersion: 16.0 - platform: Gaming.Desktop.x64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_2019 xbdbg - continueOnError: True - inputs: - solution: DirectXTex_GDK_2019.sln - vsVersion: 16.0 - platform: Gaming.Xbox.XboxOne.x64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_2019 xbrel - continueOnError: True - inputs: - solution: DirectXTex_GDK_2019.sln - vsVersion: 16.0 - platform: Gaming.Xbox.XboxOne.x64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_2019 scardbg - continueOnError: True - inputs: - solution: DirectXTex_GDK_2019.sln - vsVersion: 16.0 - platform: Gaming.Xbox.Scarlett.x64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_2019 scarrel - continueOnError: True - inputs: - solution: DirectXTex_GDK_2019.sln - vsVersion: 16.0 - platform: Gaming.Xbox.Scarlett.x64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_PC_2019 dbg - continueOnError: True - inputs: - solution: DirectXTex_GXDK_PC_2019.sln - vsVersion: 16.0 - platform: x64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_PC_2019 rel - continueOnError: True - inputs: - solution: DirectXTex_GXDK_PC_2019.sln - vsVersion: 16.0 - platform: x64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_PC_2019 scardbg - continueOnError: True - inputs: - solution: DirectXTex_GXDK_PC_2019.sln - vsVersion: 16.0 - platform: x64 - configuration: Debug_Scarlett - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:GDKEditionNumber=$(GDK_EDITION) - - task: VSBuild@1 - displayName: Build solution DirectXTex_GDK_PC_2019 scarrel - continueOnError: True - inputs: - solution: DirectXTex_GXDK_PC_2019.sln - vsVersion: 16.0 - platform: x64 - configuration: Release_Scarlett - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:GDKEditionNumber=$(GDK_EDITION) + - template: '/.azuredevops/templates/DirectXTex-build-gdk.yml' + parameters: + msVersion: '16.0' + vsYear: 2019 diff --git a/.azuredevops/pipelines/DirectXTex-GitHub-MinGW.yml b/.azuredevops/pipelines/DirectXTex-GitHub-MinGW.yml index eb8b2e8..b646531 100644 --- a/.azuredevops/pipelines/DirectXTex-GitHub-MinGW.yml +++ b/.azuredevops/pipelines/DirectXTex-GitHub-MinGW.yml @@ -20,7 +20,7 @@ trigger: exclude: - '*.md' - LICENSE - - '.github/*' + - '.github/**' - '.nuget/*' - build/*.cmd - build/OneFuzz*.json @@ -36,7 +36,7 @@ pr: exclude: - '*.md' - LICENSE - - '.github/*' + - '.github/**' - '.nuget/*' - build/*.cmd - build/OneFuzz*.json diff --git a/.azuredevops/pipelines/DirectXTex-GitHub-SDK-prerelease.yml b/.azuredevops/pipelines/DirectXTex-GitHub-SDK-prerelease.yml index fc1e2c5..44d9274 100644 --- a/.azuredevops/pipelines/DirectXTex-GitHub-SDK-prerelease.yml +++ b/.azuredevops/pipelines/DirectXTex-GitHub-SDK-prerelease.yml @@ -42,7 +42,7 @@ pool: jobs: - job: DESKTOP_BUILD - displayName: 'Win32 Desktop' + displayName: 'Windows Desktop' timeoutInMinutes: 120 cancelTimeoutInMinutes: 1 steps: @@ -97,87 +97,7 @@ jobs: SourceFolder: build Contents: 'Directory.Build.props' TargetFolder: $(Build.SourcesDirectory) - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019.sln 32dbg - inputs: - solution: DirectXTex_Desktop_2019.sln - platform: x86 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019.sln 32rel - inputs: - solution: DirectXTex_Desktop_2019.sln - platform: x86 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019.sln 64dbg - inputs: - solution: DirectXTex_Desktop_2019.sln - platform: x64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019.sln 64rel - inputs: - solution: DirectXTex_Desktop_2019.sln - platform: x64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 32dbg - inputs: - solution: DirectXTex_Desktop_2019_Win10.sln - platform: x86 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 32rel - inputs: - solution: DirectXTex_Desktop_2019_Win10.sln - platform: x86 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 64dbg - inputs: - solution: DirectXTex_Desktop_2019_Win10.sln - platform: x64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 64rel - inputs: - solution: DirectXTex_Desktop_2019_Win10.sln - platform: x64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - # VS 2019 for Win32 on ARM64 is out of support. - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022_Win10.sln arm64dbg - inputs: - solution: DirectXTex_Desktop_2022_Win10.sln - platform: ARM64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022_Win10.sln arm64rel - inputs: - solution: DirectXTex_Desktop_2022_Win10.sln - platform: ARM64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 + - template: '/.azuredevops/templates/DirectXTex-build-win32.yml' - job: UWP_BUILD displayName: 'Universal Windows Platform (UWP)' @@ -234,52 +154,4 @@ jobs: SourceFolder: build Contents: 'Directory.Build.props' TargetFolder: $(Build.SourcesDirectory) - - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln 32dbg - inputs: - solution: DirectXTex_Windows10_2022.sln - platform: x86 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln 32rel - inputs: - solution: DirectXTex_Windows10_2022.sln - platform: x86 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln 64dbg - inputs: - solution: DirectXTex_Windows10_2022.sln - platform: x64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln 64rel - inputs: - solution: DirectXTex_Windows10_2022.sln - platform: x64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - # Windows on ARM 32-bit is deprecated. https://learn.microsoft.com/windows/arm/arm32-to-arm64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln arm64dbg - inputs: - solution: DirectXTex_Windows10_2022.sln - platform: ARM64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln arm64rel - inputs: - solution: DirectXTex_Windows10_2022.sln - platform: ARM64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 + - template: '/.azuredevops/templates/DirectXTex-build-uwp.yml' diff --git a/.azuredevops/pipelines/DirectXTex-GitHub-SDK-release.yml b/.azuredevops/pipelines/DirectXTex-GitHub-SDK-release.yml index de8de76..b91ff29 100644 --- a/.azuredevops/pipelines/DirectXTex-GitHub-SDK-release.yml +++ b/.azuredevops/pipelines/DirectXTex-GitHub-SDK-release.yml @@ -42,7 +42,7 @@ pool: jobs: - job: DESKTOP_BUILD - displayName: 'Win32 Desktop' + displayName: 'Windows Desktop' timeoutInMinutes: 120 cancelTimeoutInMinutes: 1 steps: @@ -97,87 +97,7 @@ jobs: SourceFolder: build Contents: 'Directory.Build.props' TargetFolder: $(Build.SourcesDirectory) - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019.sln 32dbg - inputs: - solution: DirectXTex_Desktop_2019.sln - platform: x86 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019.sln 32rel - inputs: - solution: DirectXTex_Desktop_2019.sln - platform: x86 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019.sln 64dbg - inputs: - solution: DirectXTex_Desktop_2019.sln - platform: x64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019.sln 64rel - inputs: - solution: DirectXTex_Desktop_2019.sln - platform: x64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 32dbg - inputs: - solution: DirectXTex_Desktop_2019_Win10.sln - platform: x86 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 32rel - inputs: - solution: DirectXTex_Desktop_2019_Win10.sln - platform: x86 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 64dbg - inputs: - solution: DirectXTex_Desktop_2019_Win10.sln - platform: x64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 64rel - inputs: - solution: DirectXTex_Desktop_2019_Win10.sln - platform: x64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - # VS 2019 for Win32 on ARM64 is out of support. - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022_Win10.sln arm64dbg - inputs: - solution: DirectXTex_Desktop_2022_Win10.sln - platform: ARM64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2022_Win10.sln arm64rel - inputs: - solution: DirectXTex_Desktop_2022_Win10.sln - platform: ARM64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 + - template: '/.azuredevops/templates/DirectXTex-build-win32.yml' - job: UWP_BUILD displayName: 'Universal Windows Platform (UWP)' @@ -234,52 +154,4 @@ jobs: SourceFolder: build Contents: 'Directory.Build.props' TargetFolder: $(Build.SourcesDirectory) - - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln 32dbg - inputs: - solution: DirectXTex_Windows10_2022.sln - platform: x86 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln 32rel - inputs: - solution: DirectXTex_Windows10_2022.sln - platform: x86 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln 64dbg - inputs: - solution: DirectXTex_Windows10_2022.sln - platform: x64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln 64rel - inputs: - solution: DirectXTex_Windows10_2022.sln - platform: x64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - # Windows on ARM 32-bit is deprecated. https://learn.microsoft.com/windows/arm/arm32-to-arm64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln arm64dbg - inputs: - solution: DirectXTex_Windows10_2022.sln - platform: ARM64 - configuration: Debug - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Windows10_2022.sln arm64rel - inputs: - solution: DirectXTex_Windows10_2022.sln - platform: ARM64 - configuration: Release - msbuildArchitecture: x64 - msbuildArgs: /p:PreferredToolArchitecture=x64 + - template: '/.azuredevops/templates/DirectXTex-build-uwp.yml' diff --git a/.azuredevops/pipelines/DirectXTex-GitHub-Test-Dev17.yml b/.azuredevops/pipelines/DirectXTex-GitHub-Test-Dev17.yml index 2b5522c..470e260 100644 --- a/.azuredevops/pipelines/DirectXTex-GitHub-Test-Dev17.yml +++ b/.azuredevops/pipelines/DirectXTex-GitHub-Test-Dev17.yml @@ -27,7 +27,6 @@ resources: - repository: self type: git ref: refs/heads/main - trigger: none - repository: testRepo name: walbourn/directxtextest type: github @@ -46,9 +45,30 @@ variables: jobs: - job: DESKTOP_BUILD - displayName: 'Win32 Desktop for x64/x86' + 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 @@ -70,94 +90,23 @@ jobs: feedRestore: $(GUID_FEED) includeNuGetOrg: false - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2022.sln 32dbg + displayName: Build solution DirectXTex_Tests_Desktop_2022.sln inputs: solution: Tests/DirectXTex_Tests_Desktop_2022.sln vsVersion: 17.0 msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Debug + platform: '$(BuildPlatform)' + configuration: '$(BuildConfiguration)' msbuildArchitecture: x64 + condition: ne(variables['BuildPlatform'], 'ARM64') - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2022.sln 32rel - inputs: - solution: Tests/DirectXTex_Tests_Desktop_2022.sln - vsVersion: 17.0 - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Release - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2022.sln 64dbg - inputs: - solution: Tests/DirectXTex_Tests_Desktop_2022.sln - vsVersion: 17.0 - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Debug - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2022.sln 64rel - inputs: - solution: Tests/DirectXTex_Tests_Desktop_2022.sln - vsVersion: 17.0 - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Release - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2022_Win10.sln 32dbg + displayName: Build solution DirectXTex_Tests_Desktop_2022_Win10.sln inputs: solution: Tests/DirectXTex_Tests_Desktop_2022_Win10.sln vsVersion: 17.0 msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Debug - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2022_Win10.sln 32rel - inputs: - solution: Tests/DirectXTex_Tests_Desktop_2022_Win10.sln - vsVersion: 17.0 - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Release - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2022_Win10.sln 64dbg - inputs: - solution: Tests/DirectXTex_Tests_Desktop_2022_Win10.sln - vsVersion: 17.0 - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Debug - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2022_Win10.sln 64rel - inputs: - solution: Tests/DirectXTex_Tests_Desktop_2022_Win10.sln - vsVersion: 17.0 - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Release - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2022_Win10.sln arm64dbg - inputs: - solution: Tests/DirectXTex_Tests_Desktop_2022_Win10.sln - vsVersion: 17.0 - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: ARM64 - configuration: Debug - msbuildArchitecture: x64 - - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2022_Win10.sln arm64rel - inputs: - solution: Tests/DirectXTex_Tests_Desktop_2022_Win10.sln - vsVersion: 17.0 - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: ARM64 - configuration: Release + platform: '$(BuildPlatform)' + configuration: '$(BuildConfiguration)' msbuildArchitecture: x64 - job: CMAKE_BUILD_X64 diff --git a/.azuredevops/pipelines/DirectXTex-GitHub-Test.yml b/.azuredevops/pipelines/DirectXTex-GitHub-Test.yml index 87f5c81..116a469 100644 --- a/.azuredevops/pipelines/DirectXTex-GitHub-Test.yml +++ b/.azuredevops/pipelines/DirectXTex-GitHub-Test.yml @@ -49,9 +49,24 @@ variables: jobs: - job: DESKTOP_BUILD - displayName: 'Win32 Desktop for x64/x86' + 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 @@ -73,69 +88,21 @@ jobs: feedRestore: $(GUID_FEED) includeNuGetOrg: false - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2019.sln 32dbg + displayName: Build solution DirectXTex_Tests_Desktop_2019.sln inputs: solution: Tests/DirectXTex_Tests_Desktop_2019.sln vsVersion: 16.0 msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Debug + platform: '$(BuildPlatform)' + configuration: '$(BuildConfiguration)' - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2019.sln 32rel - inputs: - solution: Tests/DirectXTex_Tests_Desktop_2019.sln - vsVersion: 16.0 - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Release - - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2019.sln 64dbg - inputs: - solution: Tests/DirectXTex_Tests_Desktop_2019.sln - vsVersion: 16.0 - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Debug - - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2019.sln 64rel - inputs: - solution: Tests/DirectXTex_Tests_Desktop_2019.sln - vsVersion: 16.0 - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Release - - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2019_Win10.sln 32dbg + displayName: Build solution DirectXTex_Tests_Desktop_2019_Win10.sln inputs: solution: Tests/DirectXTex_Tests_Desktop_2019_Win10.sln vsVersion: 16.0 msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Debug - - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2019_Win10.sln 32rel - inputs: - solution: Tests/DirectXTex_Tests_Desktop_2019_Win10.sln - vsVersion: 16.0 - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Release - - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2019_Win10.sln 64dbg - inputs: - solution: Tests/DirectXTex_Tests_Desktop_2019_Win10.sln - vsVersion: 16.0 - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Debug - - task: VSBuild@1 - displayName: Build solution DirectXTex_Tests_Desktop_2019_Win10.sln 64rel - inputs: - solution: Tests/DirectXTex_Tests_Desktop_2019_Win10.sln - vsVersion: 16.0 - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Release + platform: '$(BuildPlatform)' + configuration: '$(BuildConfiguration)' - job: CMAKE_BUILD_X64 displayName: 'CMake for X64 BUILD_TESTING=ON' diff --git a/.azuredevops/pipelines/DirectXTex-GitHub-VCPKG.yml b/.azuredevops/pipelines/DirectXTex-GitHub-VCPKG.yml index daf2b19..039a733 100644 --- a/.azuredevops/pipelines/DirectXTex-GitHub-VCPKG.yml +++ b/.azuredevops/pipelines/DirectXTex-GitHub-VCPKG.yml @@ -20,7 +20,7 @@ trigger: exclude: - '*.md' - LICENSE - - '.github/*' + - '.github/**' - '.nuget/*' - build/*.cmd - build/OneFuzz*.json @@ -36,7 +36,7 @@ pr: exclude: - '*.md' - LICENSE - - '.github/*' + - '.github/**' - '.nuget/*' - build/*.cmd - build/OneFuzz*.json diff --git a/.azuredevops/pipelines/DirectXTex-GitHub.yml b/.azuredevops/pipelines/DirectXTex-GitHub.yml index 270402c..22e3094 100644 --- a/.azuredevops/pipelines/DirectXTex-GitHub.yml +++ b/.azuredevops/pipelines/DirectXTex-GitHub.yml @@ -3,7 +3,7 @@ # # http://go.microsoft.com/fwlink/?LinkId=248926 -# Builds the library for Windows Desktop and UWP. +# Builds the library for Windows Desktop. schedules: - cron: "5 3 * * *" @@ -39,131 +39,59 @@ pool: jobs: - job: DESKTOP_BUILD - displayName: 'Win32 Desktop' + 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 + Release_x64_SpectreMitigated: + BuildPlatform: x64 + BuildConfiguration: Release + SpectreMitigation: 'Spectre' + Debug_x64_SpectreMitigated: + BuildPlatform: x64 + BuildConfiguration: Debug + SpectreMitigation: 'Spectre' + Release_x86_SpectreMitigated: + BuildPlatform: x86 + BuildConfiguration: Release + SpectreMitigation: 'Spectre' + Debug_x86_SpectreMitigated: + BuildPlatform: x86 + BuildConfiguration: Debug + SpectreMitigation: 'Spectre' steps: - checkout: self clean: true fetchTags: false - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019.sln 32dbg + displayName: Build solution DirectXTex_Desktop_2019.sln inputs: solution: DirectXTex_Desktop_2019.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Debug + msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=$(SpectreMitigation) + platform: '$(BuildPlatform)' + configuration: '$(BuildConfiguration)' - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019.sln 32rel - inputs: - solution: DirectXTex_Desktop_2019.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Release - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019.sln 64dbg - inputs: - solution: DirectXTex_Desktop_2019.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Debug - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019.sln 64rel - inputs: - solution: DirectXTex_Desktop_2019.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Release - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 32dbg + displayName: Build solution DirectXTex_Desktop_2019_Win10.sln inputs: solution: DirectXTex_Desktop_2019_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Debug - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 32rel - inputs: - solution: DirectXTex_Desktop_2019_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x86 - configuration: Release - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 64dbg - inputs: - solution: DirectXTex_Desktop_2019_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Debug - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 64rel - inputs: - solution: DirectXTex_Desktop_2019_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 - platform: x64 - configuration: Release - -- job: DESKTOP_BUILD_SPECTRE - displayName: 'Win32 Desktop (Spectre-mitigated)' - timeoutInMinutes: 120 - cancelTimeoutInMinutes: 1 - steps: - - checkout: self - clean: true - fetchTags: false - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019.sln 32dbg - inputs: - solution: DirectXTex_Desktop_2019.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: x86 - configuration: Debug - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019.sln 32rel - inputs: - solution: DirectXTex_Desktop_2019.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: x86 - configuration: Release - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019.sln 64dbg - inputs: - solution: DirectXTex_Desktop_2019.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: x64 - configuration: Debug - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019.sln 64rel - inputs: - solution: DirectXTex_Desktop_2019.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: x64 - configuration: Release - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 32dbg - inputs: - solution: DirectXTex_Desktop_2019_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: x86 - configuration: Debug - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 32rel - inputs: - solution: DirectXTex_Desktop_2019_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: x86 - configuration: Release - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 64dbg - inputs: - solution: DirectXTex_Desktop_2019_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: x64 - configuration: Debug - - task: VSBuild@1 - displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 64rel - inputs: - solution: DirectXTex_Desktop_2019_Win10.sln - msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre - platform: x64 - configuration: Release + msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=$(SpectreMitigation) + platform: '$(BuildPlatform)' + configuration: '$(BuildConfiguration)' diff --git a/.azuredevops/templates/DirectXTex-build-gdk.yml b/.azuredevops/templates/DirectXTex-build-gdk.yml new file mode 100644 index 0000000..ffee610 --- /dev/null +++ b/.azuredevops/templates/DirectXTex-build-gdk.yml @@ -0,0 +1,120 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# +# http://go.microsoft.com/fwlink/?LinkId=248926 + +# Template used by GitHub-GDK-* pipelines + +parameters: +- name: msVersion + type: string + values: + - '16.0' + - '17.0' +- name: vsYear + type: number + values: + - 2019 + - 2022 + +steps: +- task: VSBuild@1 + displayName: Build solution DirectXTex_GDK_${{ parameters.vsYear }} pcdbg + continueOnError: True + inputs: + solution: DirectXTex_GDK_${{ parameters.vsYear }}.sln + vsVersion: ${{ parameters.msVersion }} + platform: Gaming.Desktop.x64 + configuration: Debug + msbuildArchitecture: x64 + msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) +- task: VSBuild@1 + displayName: Build solution DirectXTex_GDK_${{ parameters.vsYear }} pcrel + continueOnError: True + inputs: + solution: DirectXTex_GDK_${{ parameters.vsYear }}.sln + vsVersion: ${{ parameters.msVersion }} + platform: Gaming.Desktop.x64 + configuration: Release + msbuildArchitecture: x64 + msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) +- task: VSBuild@1 + displayName: Build solution DirectXTex_GDK_${{ parameters.vsYear }} xbdbg + continueOnError: True + inputs: + solution: DirectXTex_GDK_${{ parameters.vsYear }}.sln + vsVersion: ${{ parameters.msVersion }} + platform: Gaming.Xbox.XboxOne.x64 + configuration: Debug + msbuildArchitecture: x64 + msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) +- task: VSBuild@1 + displayName: Build solution DirectXTex_GDK_${{ parameters.vsYear }} xbrel + continueOnError: True + inputs: + solution: DirectXTex_GDK_${{ parameters.vsYear }}.sln + vsVersion: ${{ parameters.msVersion }} + platform: Gaming.Xbox.XboxOne.x64 + configuration: Release + msbuildArchitecture: x64 + msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) +- task: VSBuild@1 + displayName: Build solution DirectXTex_GDK_${{ parameters.vsYear }} scardbg + continueOnError: True + inputs: + solution: DirectXTex_GDK_${{ parameters.vsYear }}.sln + vsVersion: ${{ parameters.msVersion }} + platform: Gaming.Xbox.Scarlett.x64 + configuration: Debug + msbuildArchitecture: x64 + msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) +- task: VSBuild@1 + displayName: Build solution DirectXTex_GDK_${{ parameters.vsYear }} scarrel + continueOnError: True + inputs: + solution: DirectXTex_GDK_${{ parameters.vsYear }}.sln + vsVersion: ${{ parameters.msVersion }} + platform: Gaming.Xbox.Scarlett.x64 + configuration: Release + msbuildArchitecture: x64 + msbuildArgs: /p:GDKEditionNumber=$(GDK_EDITION) +- task: VSBuild@1 + displayName: Build solution DirectXTex_GDK_PC_${{ parameters.vsYear }} dbg + continueOnError: True + inputs: + solution: DirectXTex_GXDK_PC_${{ parameters.vsYear }}.sln + vsVersion: ${{ parameters.msVersion }} + platform: x64 + configuration: Debug + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 /p:GDKEditionNumber=$(GDK_EDITION) +- task: VSBuild@1 + displayName: Build solution DirectXTex_GDK_PC_${{ parameters.vsYear }} rel + continueOnError: True + inputs: + solution: DirectXTex_GXDK_PC_${{ parameters.vsYear }}.sln + vsVersion: ${{ parameters.msVersion }} + platform: x64 + configuration: Release + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 /p:GDKEditionNumber=$(GDK_EDITION) +- task: VSBuild@1 + displayName: Build solution DirectXTex_GDK_PC_${{ parameters.vsYear }} scardbg + continueOnError: True + inputs: + solution: DirectXTex_GXDK_PC_${{ parameters.vsYear }}.sln + vsVersion: ${{ parameters.msVersion }} + platform: x64 + configuration: Debug_Scarlett + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 /p:GDKEditionNumber=$(GDK_EDITION) +- task: VSBuild@1 + displayName: Build solution DirectXTex_GDK_PC_${{ parameters.vsYear }} scarrel + continueOnError: True + inputs: + solution: DirectXTex_GXDK_PC_${{ parameters.vsYear }}.sln + vsVersion: ${{ parameters.msVersion }} + platform: x64 + configuration: Release_Scarlett + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 /p:GDKEditionNumber=$(GDK_EDITION) diff --git a/.azuredevops/templates/DirectXTex-build-uwp.yml b/.azuredevops/templates/DirectXTex-build-uwp.yml new file mode 100644 index 0000000..3c988aa --- /dev/null +++ b/.azuredevops/templates/DirectXTex-build-uwp.yml @@ -0,0 +1,57 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# +# http://go.microsoft.com/fwlink/?LinkId=248926 + +# Template used by SDK-release and SDK-prerelease pipelines + +steps: +- task: VSBuild@1 + displayName: Build solution DirectXTex_Windows10_2022.sln 32dbg + inputs: + solution: DirectXTex_Windows10_2022.sln + platform: x86 + configuration: Debug + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 +- task: VSBuild@1 + displayName: Build solution DirectXTex_Windows10_2022.sln 32rel + inputs: + solution: DirectXTex_Windows10_2022.sln + platform: x86 + configuration: Release + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 +- task: VSBuild@1 + displayName: Build solution DirectXTex_Windows10_2022.sln 64dbg + inputs: + solution: DirectXTex_Windows10_2022.sln + platform: x64 + configuration: Debug + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 +- task: VSBuild@1 + displayName: Build solution DirectXTex_Windows10_2022.sln 64rel + inputs: + solution: DirectXTex_Windows10_2022.sln + platform: x64 + configuration: Release + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 +# Windows on ARM 32-bit is deprecated. https://learn.microsoft.com/windows/arm/arm32-to-arm64 +- task: VSBuild@1 + displayName: Build solution DirectXTex_Windows10_2022.sln arm64dbg + inputs: + solution: DirectXTex_Windows10_2022.sln + platform: ARM64 + configuration: Debug + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 +- task: VSBuild@1 + displayName: Build solution DirectXTex_Windows10_2022.sln arm64rel + inputs: + solution: DirectXTex_Windows10_2022.sln + platform: ARM64 + configuration: Release + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 diff --git a/.azuredevops/templates/DirectXTex-build-win32.yml b/.azuredevops/templates/DirectXTex-build-win32.yml new file mode 100644 index 0000000..31c7674 --- /dev/null +++ b/.azuredevops/templates/DirectXTex-build-win32.yml @@ -0,0 +1,89 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# +# http://go.microsoft.com/fwlink/?LinkId=248926 + +# Template used by SDK-release and SDK-prerelease pipelines + +steps: +- task: VSBuild@1 + displayName: Build solution DirectXTex_Desktop_2019.sln 32dbg + inputs: + solution: DirectXTex_Desktop_2019.sln + platform: x86 + configuration: Debug + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 +- task: VSBuild@1 + displayName: Build solution DirectXTex_Desktop_2019.sln 32rel + inputs: + solution: DirectXTex_Desktop_2019.sln + platform: x86 + configuration: Release + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 +- task: VSBuild@1 + displayName: Build solution DirectXTex_Desktop_2019.sln 64dbg + inputs: + solution: DirectXTex_Desktop_2019.sln + platform: x64 + configuration: Debug + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 +- task: VSBuild@1 + displayName: Build solution DirectXTex_Desktop_2019.sln 64rel + inputs: + solution: DirectXTex_Desktop_2019.sln + platform: x64 + configuration: Release + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 +- task: VSBuild@1 + displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 32dbg + inputs: + solution: DirectXTex_Desktop_2019_Win10.sln + platform: x86 + configuration: Debug + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 +- task: VSBuild@1 + displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 32rel + inputs: + solution: DirectXTex_Desktop_2019_Win10.sln + platform: x86 + configuration: Release + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 +- task: VSBuild@1 + displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 64dbg + inputs: + solution: DirectXTex_Desktop_2019_Win10.sln + platform: x64 + configuration: Debug + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 +- task: VSBuild@1 + displayName: Build solution DirectXTex_Desktop_2019_Win10.sln 64rel + inputs: + solution: DirectXTex_Desktop_2019_Win10.sln + platform: x64 + configuration: Release + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 +# VS 2019 for Win32 on ARM64 is out of support. +- task: VSBuild@1 + displayName: Build solution DirectXTex_Desktop_2022_Win10.sln arm64dbg + inputs: + solution: DirectXTex_Desktop_2022_Win10.sln + platform: ARM64 + configuration: Debug + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 +- task: VSBuild@1 + displayName: Build solution DirectXTex_Desktop_2022_Win10.sln arm64rel + inputs: + solution: DirectXTex_Desktop_2022_Win10.sln + platform: ARM64 + configuration: Release + msbuildArchitecture: x64 + msbuildArgs: /p:PreferredToolArchitecture=x64 diff --git a/.github/workflows/bvt.yml b/.github/workflows/bvt.yml index 06f733e..cfd70e7 100644 --- a/.github/workflows/bvt.yml +++ b/.github/workflows/bvt.yml @@ -8,12 +8,23 @@ name: 'CTest (BVTs)' on: push: branches: [ "main" ] + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + - build/*.xvd pull_request: branches: [ "main" ] paths-ignore: - '*.md' - LICENSE - - '.azuredevops/*' + - '.azuredevops/**' - '.nuget/*' - build/*.cmd - build/*.json diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 1791416..6eed11c 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -8,12 +8,23 @@ name: "CodeQL" on: push: branches: [ "main" ] + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + - build/*.xvd pull_request: branches: [ "main" ] paths-ignore: - '*.md' - LICENSE - - '.azuredevops/*' + - '.azuredevops/**' - '.nuget/*' - build/*.cmd - build/*.json diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9cf7b97..d90f1dd 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,12 +8,23 @@ name: 'CMake (Windows)' on: push: branches: [ "main" ] + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + - build/*.xvd pull_request: branches: [ "main" ] paths-ignore: - '*.md' - LICENSE - - '.azuredevops/*' + - '.azuredevops/**' - '.nuget/*' - build/*.cmd - build/*.json diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 5d4a157..667629c 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -8,12 +8,18 @@ name: MSBuild on: push: branches: [ "main" ] + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/* pull_request: branches: [ "main" ] paths-ignore: - '*.md' - LICENSE - - '.azuredevops/*' + - '.azuredevops/**' - '.nuget/*' - build/* diff --git a/.github/workflows/msvc.yml b/.github/workflows/msvc.yml index 66bd3a7..191c76b 100644 --- a/.github/workflows/msvc.yml +++ b/.github/workflows/msvc.yml @@ -8,12 +8,23 @@ name: Microsoft C++ Code Analysis on: push: branches: [ "main" ] + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + - build/*.xvd pull_request: branches: [ "main" ] paths-ignore: - '*.md' - LICENSE - - '.azuredevops/*' + - '.azuredevops/**' - '.nuget/*' - build/*.cmd - build/*.json diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 081ae36..cc7634a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,12 +8,23 @@ name: 'CTest (Windows)' on: push: branches: [ "main" ] + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + - build/*.xvd pull_request: branches: [ "main" ] paths-ignore: - '*.md' - LICENSE - - '.azuredevops/*' + - '.azuredevops/**' - '.nuget/*' - build/*.cmd - build/*.json diff --git a/.github/workflows/uwp.yml b/.github/workflows/uwp.yml index c153790..02e4ecf 100644 --- a/.github/workflows/uwp.yml +++ b/.github/workflows/uwp.yml @@ -8,12 +8,23 @@ name: 'CMake (UWP)' on: push: branches: [ "main" ] + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + - build/*.xvd pull_request: branches: [ "main" ] paths-ignore: - '*.md' - LICENSE - - '.azuredevops/*' + - '.azuredevops/**' - '.nuget/*' - build/*.cmd - build/*.json diff --git a/.github/workflows/vcpkg.yml b/.github/workflows/vcpkg.yml index 74d237a..d506fa2 100644 --- a/.github/workflows/vcpkg.yml +++ b/.github/workflows/vcpkg.yml @@ -8,12 +8,21 @@ name: 'CMake (Windows using VCPKG)' on: push: branches: [ "main" ] + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - build/*.cmd + - build/*.props + - build/*.ps1 + - build/*.targets + - build/*.xvd pull_request: branches: [ "main" ] paths-ignore: - '*.md' - LICENSE - - '.azuredevops/*' + - '.azuredevops/**' - build/*.cmd - build/*.props - build/*.ps1 diff --git a/.github/workflows/wsl.yml b/.github/workflows/wsl.yml index 1304f5b..c40617b 100644 --- a/.github/workflows/wsl.yml +++ b/.github/workflows/wsl.yml @@ -8,12 +8,23 @@ name: 'CMake (WSL)' on: push: branches: [ "main" ] + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + - build/*.xvd pull_request: branches: [ "main" ] paths-ignore: - '*.md' - LICENSE - - '.azuredevops/*' + - '.azuredevops/**' - '.nuget/*' - build/*.cmd - build/*.json diff --git a/CMakePresets.json b/CMakePresets.json index 64a99f1..52e3ca3 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -422,6 +422,11 @@ { "name": "arm64-Debug-Clang" , "configurePreset": "arm64-Debug-Clang" }, { "name": "arm64-Release-Clang", "configurePreset": "arm64-Release-Clang" }, + { "name": "x64-Debug-GDKX" , "configurePreset": "x64-Debug-GDKX" }, + { "name": "x64-Release-GDKX" , "configurePreset": "x64-Release-GDKX" }, + { "name": "x64-Debug-GDKX-S" , "configurePreset": "x64-Debug-GDKX-S" }, + { "name": "x64-Release-GDKX-S" , "configurePreset": "x64-Release-GDKX-S" }, + { "name": "x64-Debug-MinGW" , "configurePreset": "x64-Debug-MinGW" }, { "name": "x64-Release-MinGW" , "configurePreset": "x64-Release-MinGW" }, { "name": "x86-Debug-MinGW" , "configurePreset": "x86-Debug-MinGW" }, diff --git a/build/copysourcetree.flt b/build/copysourcetree.flt new file mode 100644 index 0000000..04bf280 --- /dev/null +++ b/build/copysourcetree.flt @@ -0,0 +1,14 @@ +.azuredevops\ +.git\ +.github\ +.nuget\ +.vs\ +build\ +wiki\ +DDSTextureLoader\ +ScreenGrab\ +WICTextureLoader\ +texassemble\ +texconv\ +texdiag\ +DDSView\ diff --git a/build/copysourcetree.ps1 b/build/copysourcetree.ps1 new file mode 100644 index 0000000..8e47f1b --- /dev/null +++ b/build/copysourcetree.ps1 @@ -0,0 +1,107 @@ +<# + +.NOTES +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +.SYNOPSIS +Copies the source tree excluding various .git and control files. + +.DESCRIPTION +This script is used to extract a minimal source tree for testing. + +.PARAMETER FilePath +Indicates the root of the tree to copy to. + +.PARAMETER Overwrite +Indicates overwrite of existing content if present. + +.PARAMETER Clean +Delete content in the target directory before copying. + +.EXAMPLE +copysourcetree.ps1 -Destination D:\temp\abc + +.EXAMPLE +Remove-Item D:\temp\abc -Recurse -force -ErrorAction SilentlyContinue | Out-Null +New-Item -Path D:\Temp -Name "abc" -ItemType Directory -ErrorAction SilentlyContinue | Out-Null +.\build\copysourcetree.ps1 -Destination D:\temp\abc +robocopy /mir D:\temp\abc\DirectXTex \\durfs\durango\TestContent\samples\nightly_dist_directxtex\DirectXTex +robocopy /mir D:\Microsoft\directxtexmedia \\durfs\durango\TestContent\samples\nightly_dist_directxtex\directxtexmedia /XD D:\Microsoft\directxtexmedia\.git + +Update internal test share. +#> + +param( + [Parameter(Mandatory)] + [string]$Destination, + [switch]$Quiet, + [switch]$Overwrite, + [switch]$Clean +) + +$xcopyFlags = "/Y/S" +if($Quiet) { + $xcopyFlags += "/Q" +} +else { + $xcopyFlags += "/F" +} + +function Copy-Source { + + param( + [Parameter(Mandatory)] + [string]$Path, + [Parameter(Mandatory)] + [string]$Destination + ) + + $filters = @("*.cpp", + "*.h", "*.inl", + "*.cmd", + "*.hlsl", "*.fx", + "*.sln", "*.vcxproj", "*.vcxproj.filters", + "*.config", "*.mgc", "*.appxmanifest", "*.manifest", + "*.dds", "*.png", "*.jpg", "*.tga") + + $excludefile = Split-Path -Path $PSScriptRoot -Parent + $excludefile = Join-Path $excludefile -Child "build" + $excludefile = Join-Path $excludefile -Child "copysourcetree.flt" + + $filters | ForEach-Object { + $files = Join-Path -Path $Path -ChildPath $_ + xcopy $xcopyFlags /EXCLUDE:$excludefile $files $Destination + if ($LastExitCode -ne 0) { + Write-Error "Failed copying source files" -ErrorAction Stop + } + } +} + +if (-Not (Test-Path $Destination)) { + Write-Error "ERROR: -Destination folder does not exist" -ErrorAction Stop +} + +$destdir = Join-Path $Destination -ChildPath "DirectXTex" + +$targetreadme = Join-Path -Path $destdir -ChildPath "README.md" + +if ((Test-Path $targetreadme) -And (-Not $Overwrite)) { + Write-Error "ERROR: Destination folder contains files. Use -Overwrite to proceed anyhow." -ErrorAction Stop +} + +if($Clean) { + Write-Host "Clean..." + Remove-Item $destdir -Recurse -force -ErrorAction SilentlyContinue | Out-Null +} + +New-Item -Path $Destination -Name "DirectXTex" -ItemType Directory -ErrorAction SilentlyContinue | Out-Null + +$sourcedir = Split-Path -Path $PSScriptRoot -Parent + +$readme = Join-Path -Path $sourcedir -ChildPath "README.md" +$license = Join-Path -Path $sourcedir -ChildPath "LICENSE" + +Copy-Item $readme -Destination $destdir +Copy-Item $license -Destination $destdir +Copy-Source -Path $sourcedir -Destination $destdir