mirror of
https://github.com/microsoft/DirectXTex
synced 2024-11-21 20:10:05 +00:00
228 lines
6.8 KiB
YAML
228 lines
6.8 KiB
YAML
# Copyright (c) Microsoft Corporation.
|
|
# Licensed under the MIT License.
|
|
#
|
|
# http://go.microsoft.com/fwlink/?LinkId=248926
|
|
|
|
# Builds the library for Windows Subsystem for Linux (WSL)
|
|
|
|
schedules:
|
|
- cron: "0 3 * * *"
|
|
displayName: 'Nightly build'
|
|
branches:
|
|
include:
|
|
- main
|
|
|
|
trigger:
|
|
branches:
|
|
include:
|
|
- main
|
|
paths:
|
|
exclude:
|
|
- '*.md'
|
|
- LICENSE
|
|
- '.github/*'
|
|
- '.nuget/*'
|
|
- build/*.cmd
|
|
- build/*.json
|
|
- build/*.props
|
|
- build/*.ps1
|
|
- build/*.targets
|
|
|
|
pr:
|
|
branches:
|
|
include:
|
|
- main
|
|
paths:
|
|
exclude:
|
|
- '*.md'
|
|
- LICENSE
|
|
- '.github/*'
|
|
- '.nuget/*'
|
|
- build/*.cmd
|
|
- build/*.json
|
|
- build/*.props
|
|
- build/*.ps1
|
|
- build/*.targets
|
|
drafts: false
|
|
|
|
resources:
|
|
repositories:
|
|
- repository: self
|
|
type: git
|
|
ref: refs/heads/main
|
|
|
|
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
|
|
|
|
pool:
|
|
vmImage: ubuntu-20.04
|
|
|
|
variables:
|
|
Codeql.Enabled: false
|
|
VCPKG_CMAKE_DIR: '$(VCPKG_ROOT)/scripts/buildsystems/vcpkg.cmake'
|
|
GITHUB_PAT: $(GITHUBPUBLICTOKEN)
|
|
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
|
|
- task: CmdLine@2
|
|
displayName: Fetch directx-headers
|
|
inputs:
|
|
script: git clone --quiet --no-tags https://%GITHUB_PAT%@github.com/microsoft/DirectX-Headers.git directx-headers
|
|
- 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: CmdLine@2
|
|
displayName: Fetch directxmath
|
|
inputs:
|
|
script: git clone --quiet --no-tags https://%GITHUB_PAT%@github.com/microsoft/DirectXMath.git directxmath
|
|
- 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 DirectXTex (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 DirectXTex (Build) dbg
|
|
inputs:
|
|
cwd: '$(Build.SourcesDirectory)'
|
|
cmakeArgs: --build out -v
|
|
- task: CMake@1
|
|
displayName: CMake DirectXTex (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 DirectXTex (Build) rel
|
|
inputs:
|
|
cwd: '$(Build.SourcesDirectory)'
|
|
cmakeArgs: --build out2 -v
|
|
|
|
- job: BUILD_WSL_VCPKG
|
|
displayName: 'Windows Subsystem for Linux (WSL) using VCPKG'
|
|
timeoutInMinutes: 120
|
|
cancelTimeoutInMinutes: 1
|
|
steps:
|
|
- checkout: self
|
|
clean: true
|
|
fetchTags: false
|
|
- task: CmdLine@2
|
|
displayName: Fetch VCPKG
|
|
inputs:
|
|
script: git clone --quiet --no-tags https://%GITHUB_PAT%@github.com/microsoft/vcpkg.git
|
|
workingDirectory: $(Build.SourcesDirectory)
|
|
- task: Bash@3
|
|
displayName: VCPKG Bootstrap
|
|
inputs:
|
|
targetType: filePath
|
|
filePath: $(Build.SourcesDirectory)/vcpkg/bootstrap-vcpkg.sh
|
|
workingDirectory: $(Build.SourcesDirectory)/vcpkg
|
|
- task: CmdLine@2
|
|
displayName: GCC and CMake version
|
|
inputs:
|
|
script: |
|
|
g++ --version
|
|
cmake --version
|
|
|
|
- task: CmdLine@2
|
|
displayName: VCPKG install headers
|
|
inputs:
|
|
script: $(Build.SourcesDirectory)/vcpkg/vcpkg install directxmath directx-headers openexr libpng zlib libjpeg-turbo
|
|
workingDirectory: $(Build.SourcesDirectory)/vcpkg
|
|
- task: CMake@1
|
|
displayName: CMake DirectXTex (Config) dbg
|
|
inputs:
|
|
cwd: '$(Build.SourcesDirectory)'
|
|
cmakeArgs: -B out -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)"
|
|
- task: CMake@1
|
|
displayName: CMake DirectXTex (Build) dbg
|
|
inputs:
|
|
cwd: '$(Build.SourcesDirectory)'
|
|
cmakeArgs: --build out -v
|
|
- task: CMake@1
|
|
displayName: CMake DirectXTex (Config) rel
|
|
inputs:
|
|
cwd: '$(Build.SourcesDirectory)'
|
|
cmakeArgs: -B out2 -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)"
|
|
- task: CMake@1
|
|
displayName: CMake DirectXTex (Build) rel
|
|
inputs:
|
|
cwd: '$(Build.SourcesDirectory)'
|
|
cmakeArgs: --build out2 -v
|
|
- task: CMake@1
|
|
displayName: CMake DirectXTex (Config) w/ OpenEXR
|
|
inputs:
|
|
cwd: '$(Build.SourcesDirectory)'
|
|
cmakeArgs: -B out3 -DCMAKE_BUILD_TYPE=Debug -DENABLE_OPENEXR_SUPPORT=ON -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)"
|
|
- task: CMake@1
|
|
displayName: CMake DirectXTex (Build) w/ OpenEXR
|
|
inputs:
|
|
cwd: '$(Build.SourcesDirectory)'
|
|
cmakeArgs: --build out3 -v
|
|
- task: CMake@1
|
|
displayName: CMake DirectXTex (Config) w/ libjpeg
|
|
inputs:
|
|
cwd: '$(Build.SourcesDirectory)'
|
|
cmakeArgs: -B out4 -DCMAKE_BUILD_TYPE=Debug -DENABLE_LIBJPEG_SUPPORT=ON -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)"
|
|
- task: CMake@1
|
|
displayName: CMake DirectXTex (Build) w/ libjpeg
|
|
inputs:
|
|
cwd: '$(Build.SourcesDirectory)'
|
|
cmakeArgs: --build out4 -v
|
|
- task: CMake@1
|
|
displayName: CMake DirectXTex (Config) w/ libpng
|
|
inputs:
|
|
cwd: '$(Build.SourcesDirectory)'
|
|
cmakeArgs: -B out5 -DCMAKE_BUILD_TYPE=Debug -DENABLE_LIBPNG_SUPPORT=ON -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)"
|
|
- task: CMake@1
|
|
displayName: CMake DirectXTex (Build) w/ libpng
|
|
inputs:
|
|
cwd: '$(Build.SourcesDirectory)'
|
|
cmakeArgs: --build out5 -v
|