2022-12-05 02:22:15 +00:00
|
|
|
# Copyright (c) Microsoft Corporation.
|
|
|
|
# Licensed under the MIT License.
|
|
|
|
#
|
2024-10-06 06:15:54 +00:00
|
|
|
# https://go.microsoft.com/fwlink/?LinkId=248926
|
2022-12-05 02:22:15 +00:00
|
|
|
|
2024-07-30 03:13:36 +00:00
|
|
|
# Builds the library using CMake with VS Generator (GitHub Actions covers Ninja).
|
2022-12-05 02:22:15 +00:00
|
|
|
|
|
|
|
schedules:
|
|
|
|
- cron: "0 5 * * *"
|
|
|
|
displayName: 'Nightly build'
|
|
|
|
branches:
|
|
|
|
include:
|
|
|
|
- main
|
|
|
|
|
2024-02-21 20:55:33 +00:00
|
|
|
trigger:
|
|
|
|
branches:
|
|
|
|
include:
|
|
|
|
- main
|
|
|
|
paths:
|
2024-04-04 03:48:00 +00:00
|
|
|
exclude:
|
|
|
|
- '*.md'
|
|
|
|
- LICENSE
|
2024-07-30 03:13:36 +00:00
|
|
|
- '.github/*'
|
2024-04-04 03:48:00 +00:00
|
|
|
- '.nuget/*'
|
2024-05-04 19:47:09 +00:00
|
|
|
- build/*.cmd
|
2024-10-06 06:15:54 +00:00
|
|
|
- build/OneFuzz*.json
|
2024-04-04 03:48:00 +00:00
|
|
|
- build/*.props
|
|
|
|
- build/*.ps1
|
|
|
|
- build/*.targets
|
2024-02-21 20:55:33 +00:00
|
|
|
|
|
|
|
pr:
|
|
|
|
branches:
|
|
|
|
include:
|
|
|
|
- main
|
|
|
|
paths:
|
2024-04-04 03:48:00 +00:00
|
|
|
exclude:
|
|
|
|
- '*.md'
|
|
|
|
- LICENSE
|
2024-07-30 03:13:36 +00:00
|
|
|
- '.github/*'
|
2024-04-04 03:48:00 +00:00
|
|
|
- '.nuget/*'
|
2024-05-04 19:47:09 +00:00
|
|
|
- build/*.cmd
|
2024-10-06 06:15:54 +00:00
|
|
|
- build/OneFuzz*.json
|
2024-04-04 03:48:00 +00:00
|
|
|
- build/*.props
|
|
|
|
- build/*.ps1
|
|
|
|
- build/*.targets
|
2024-02-21 20:55:33 +00:00
|
|
|
drafts: false
|
2023-02-10 02:47:03 +00:00
|
|
|
|
2022-12-05 02:22:15 +00:00
|
|
|
resources:
|
|
|
|
repositories:
|
|
|
|
- repository: self
|
|
|
|
type: git
|
|
|
|
ref: refs/heads/main
|
2024-10-06 06:15:54 +00:00
|
|
|
- repository: vcpkgRepo
|
|
|
|
name: Microsoft/vcpkg
|
|
|
|
type: github
|
|
|
|
endpoint: microsoft
|
|
|
|
ref: refs/tags/$(VCPKG_TAG)
|
2022-12-05 02:22:15 +00:00
|
|
|
|
|
|
|
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
|
|
|
|
|
|
|
|
variables:
|
2024-05-14 19:18:03 +00:00
|
|
|
Codeql.Enabled: false
|
2024-10-06 06:15:54 +00:00
|
|
|
VCPKG_ROOT: $(Build.SourcesDirectory)/vcpkg
|
|
|
|
VCPKG_CMAKE_DIR: $(Build.SourcesDirectory)/vcpkg/scripts/buildsystems/vcpkg.cmake
|
|
|
|
VCPKG_MANIFEST_DIR: $(Build.SourcesDirectory)/build
|
2022-12-05 02:22:15 +00:00
|
|
|
VS_GENERATOR: 'Visual Studio 17 2022'
|
|
|
|
WIN10_SDK: '10.0.19041.0'
|
|
|
|
WIN11_SDK: '10.0.22000.0'
|
|
|
|
|
|
|
|
pool:
|
|
|
|
vmImage: windows-2022
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
- job: CMAKE_BUILD
|
|
|
|
displayName: CMake using VS Generator
|
|
|
|
steps:
|
|
|
|
- checkout: self
|
|
|
|
clean: true
|
|
|
|
fetchTags: false
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC): Config x64'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
|
|
|
cmakeArgs: -G "$(VS_GENERATOR)" -A x64 -B out -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK) -DBUILD_DX12=OFF
|
2022-12-05 02:22:15 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC): Build x64 Debug'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2022-12-05 02:22:15 +00:00
|
|
|
cmakeArgs: --build out -v --config Debug
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC): Build x64 Release'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2022-12-05 02:22:15 +00:00
|
|
|
cmakeArgs: --build out -v --config RelWithDebInfo
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC): Config x86'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
|
|
|
cmakeArgs: -G "$(VS_GENERATOR)" -A Win32 -B out2 -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK) -DBUILD_DX12=OFF
|
2022-12-05 02:22:15 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC): Build x86 Debug'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2022-12-05 02:22:15 +00:00
|
|
|
cmakeArgs: --build out2 -v --config Debug
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC): Build x86 Release'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2022-12-05 02:22:15 +00:00
|
|
|
cmakeArgs: --build out2 -v --config RelWithDebInfo
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC): Config ARM64'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
|
|
|
cmakeArgs: -G "$(VS_GENERATOR)" -A ARM64 -B out3 -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK) -DBUILD_DX12=OFF
|
2022-12-05 02:22:15 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC): Build ARM64 Debug'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2022-12-05 02:22:15 +00:00
|
|
|
cmakeArgs: --build out3 -v --config Debug
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC): Build ARM64 Release'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2022-12-05 02:22:15 +00:00
|
|
|
cmakeArgs: --build out3 -v --config RelWithDebInfo
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (UWP): Config x64'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
|
|
|
cmakeArgs: -G "$(VS_GENERATOR)" -A x64 -B out4 -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_SYSTEM_VERSION=10.0
|
2022-12-05 02:22:15 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (UWP): Build x64'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2022-12-05 02:22:15 +00:00
|
|
|
cmakeArgs: --build out4 -v
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (ClangCl): Config x64'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
|
|
|
cmakeArgs: -G "$(VS_GENERATOR)" -A x64 -T clangcl -B out6 -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK)
|
2022-12-05 02:22:15 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (ClangCl): Build x64 Debug'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2022-12-05 02:22:15 +00:00
|
|
|
cmakeArgs: --build out6 -v --config Debug
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (ClangCl): Build x64 Release'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2022-12-05 02:22:15 +00:00
|
|
|
cmakeArgs: --build out6 -v --config RelWithDebInfo
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (ClangCl): Config ARM64'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
|
|
|
cmakeArgs: -G "$(VS_GENERATOR)" -A ARM64 -T clangcl -B out7 -DCMAKE_SYSTEM_VERSION=$(WIN11_SDK)
|
2022-12-05 02:22:15 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (ClangCl): Build ARM64'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2022-12-05 02:22:15 +00:00
|
|
|
cmakeArgs: --build out7 -v --config Debug
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (Win10): Config'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
|
|
|
cmakeArgs: -G "$(VS_GENERATOR)" -A x64 -B out8 -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK) -DBUILD_DX12=ON
|
2022-12-05 02:22:15 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (Win10): Build'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2022-12-05 02:22:15 +00:00
|
|
|
cmakeArgs: --build out8 -v --config Debug
|
2022-12-06 19:43:45 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC Spectre): Config x64'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
|
|
|
cmakeArgs: -G "$(VS_GENERATOR)" -A x64 -B out9 -DENABLE_SPECTRE_MITIGATION=ON -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK) -DBUILD_DX12=OFF
|
2022-12-06 19:43:45 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC Spectre): Build x64 Debug'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2022-12-06 19:43:45 +00:00
|
|
|
cmakeArgs: --build out9 -v --config Debug
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC Spectre): Build x64 Release'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2022-12-06 19:43:45 +00:00
|
|
|
cmakeArgs: --build out9 -v --config RelWithDebInfo
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC Spectre): Config ARM64'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
|
|
|
cmakeArgs: -G "$(VS_GENERATOR)" -A ARM64 -B out10 -DENABLE_SPECTRE_MITIGATION=ON -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK) -DBUILD_DX12=OFF
|
2022-12-06 19:43:45 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC Spectre): Build ARM64 Debug'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2022-12-06 19:43:45 +00:00
|
|
|
cmakeArgs: --build out10 -v --config Debug
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC Spectre): Build ARM64 Release'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2022-12-06 19:43:45 +00:00
|
|
|
cmakeArgs: --build out10 -v --config RelWithDebInfo
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (Win10 Spectre): Config'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
|
|
|
cmakeArgs: -G "$(VS_GENERATOR)" -A x64 -B out11 -DENABLE_SPECTRE_MITIGATION=ON -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK) -DBUILD_DX12=ON
|
2022-12-06 19:43:45 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (Win10 Spectre): Build'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2022-12-06 19:43:45 +00:00
|
|
|
cmakeArgs: --build out11 -v --config Debug
|
2023-08-20 18:01:09 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (NO_WCHAR_T): Config'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
|
|
|
cmakeArgs: -G "$(VS_GENERATOR)" -A x64 -B out12 -DNO_WCHAR_T=ON -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_SYSTEM_VERSION=$(WIN11_SDK) -DBUILD_DX12=ON
|
2023-08-20 18:01:09 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (NO_WCHAR_T): Build'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2023-08-20 18:01:09 +00:00
|
|
|
cmakeArgs: --build out12 -v --config Debug
|
2024-04-04 03:48:00 +00:00
|
|
|
|
|
|
|
- job: CMAKE_BUILD_VCPKG
|
|
|
|
displayName: CMake using VCPKG
|
|
|
|
steps:
|
|
|
|
- checkout: self
|
|
|
|
clean: true
|
|
|
|
fetchTags: false
|
2024-10-06 06:15:54 +00:00
|
|
|
fetchDepth: 1
|
|
|
|
path: 's'
|
|
|
|
- checkout: vcpkgRepo
|
2024-04-04 03:48:00 +00:00
|
|
|
displayName: Fetch VCPKG
|
2024-10-06 06:15:54 +00:00
|
|
|
clean: true
|
|
|
|
fetchTags: false
|
|
|
|
fetchDepth: 1
|
|
|
|
path: 's/vcpkg'
|
2024-04-04 03:48:00 +00:00
|
|
|
- task: CmdLine@2
|
|
|
|
displayName: VCPKG Bootstrap
|
|
|
|
inputs:
|
|
|
|
script: call bootstrap-vcpkg.bat
|
2024-10-06 06:15:54 +00:00
|
|
|
workingDirectory: $(VCPKG_ROOT)
|
2024-04-04 03:48:00 +00:00
|
|
|
- task: CmdLine@2
|
2024-10-06 06:15:54 +00:00
|
|
|
displayName: VCPKG install packages
|
|
|
|
inputs:
|
|
|
|
script: call vcpkg install --x-manifest-root=$(VCPKG_MANIFEST_DIR) --triplet=x64-windows
|
|
|
|
workingDirectory: $(VCPKG_ROOT)
|
2024-04-04 03:48:00 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC): Config x64'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
|
|
|
cmakeArgs: >
|
|
|
|
-G "$(VS_GENERATOR)" -A x64 -B out -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK)
|
|
|
|
-DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)" -DVCPKG_MANIFEST_DIR="$(VCPKG_MANIFEST_DIR)" -DVCPKG_TARGET_TRIPLET=x64-windows
|
2024-04-04 03:48:00 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC): Build x64 Debug'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2024-04-04 03:48:00 +00:00
|
|
|
cmakeArgs: --build out -v --config Debug
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC): Config x64 w/ OpenEXR'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
|
|
|
cmakeArgs: >
|
|
|
|
-G "$(VS_GENERATOR)" -A x64 -B out2 -DENABLE_OPENEXR_SUPPORT=ON -DBUILD_TESTING=OFF -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK)
|
|
|
|
-DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)" -DVCPKG_MANIFEST_DIR="$(VCPKG_MANIFEST_DIR)" -DVCPKG_TARGET_TRIPLET=x64-windows
|
2024-04-04 03:48:00 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC): Build x64 Debug w/ OpenEXR'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2024-04-04 03:48:00 +00:00
|
|
|
cmakeArgs: --build out2 -v --config Debug
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC): Config x64 w/ libjpeg'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
|
|
|
cmakeArgs: >
|
|
|
|
-G "$(VS_GENERATOR)" -A x64 -B out3 -DENABLE_LIBJPEG_SUPPORT=ON -DBUILD_TESTING=OFF -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK)
|
|
|
|
-DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)" -DVCPKG_MANIFEST_DIR="$(VCPKG_MANIFEST_DIR)" -DVCPKG_TARGET_TRIPLET=x64-windows
|
2024-04-04 03:48:00 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC): Build x64 Debug w/ libjpeg'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2024-04-04 03:48:00 +00:00
|
|
|
cmakeArgs: --build out3 -v --config Debug
|
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC): Config x64 w/ libpng'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
|
|
|
cmakeArgs: >
|
|
|
|
-G "$(VS_GENERATOR)" -A x64 -B out4 -DENABLE_LIBPNG_SUPPORT=ON -DBUILD_TESTING=OFF -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK)
|
|
|
|
-DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)" -DVCPKG_MANIFEST_DIR="$(VCPKG_MANIFEST_DIR)" -DVCPKG_TARGET_TRIPLET=x64-windows
|
2024-04-04 03:48:00 +00:00
|
|
|
- task: CMake@1
|
|
|
|
displayName: 'CMake (MSVC): Build x64 Debug w/ libpng'
|
|
|
|
inputs:
|
2024-10-06 06:15:54 +00:00
|
|
|
cwd: $(Build.SourcesDirectory)
|
2024-04-04 03:48:00 +00:00
|
|
|
cmakeArgs: --build out4 -v --config Debug
|