# 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: branches: include: - main paths: exclude: - '*.md' - LICENSE - '.github/*' - '.nuget/*' - build/*.cmd - build/*.props - build/*.ps1 - build/*.targets pr: branches: include: - main paths: exclude: - '*.md' - LICENSE - '.github/*' - '.nuget/*' - build/*.cmd - build/*.props - build/*.ps1 - build/*.targets drafts: false resources: repositories: - repository: self type: git ref: refs/heads/main - 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-20.04 variables: Codeql.Enabled: false LOCAL_PKG_DIR: '$(Agent.BuildDirectory)/install/' 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 https://raw.githubusercontent.com/dotnet/corert/master/src/Native/inc/unix/sal.h -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 "1643571673195d9eb892d2f2ac76eac7113ef7aa0ca116d79f3e4d3dc9df8a31600a9668b7e7678dfbe5a76906f9e0734ef8d6db0903ccc68fc742dd8238d8b0") { 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