Add YAML Azure Pipelines

This commit is contained in:
Chuck Walbourn 2022-12-07 18:09:41 -08:00
parent 1a1dda427f
commit 09b21be063
17 changed files with 2026 additions and 8 deletions

View File

@ -29,6 +29,9 @@ option(UVATLAS_USE_OPENMP "Build with OpenMP support" ON)
# Enable use of the Eigen and BLAS libraries (https://eigen.tuxfamily.org/)
option(ENABLE_USE_EIGEN "Use the Eigen & BLAS libraries" OFF)
# https://devblogs.microsoft.com/cppblog/spectre-mitigations-in-msvc/
option(ENABLE_SPECTRE_MITIGATION "Build using /Qspectre for MSVC" OFF)
option(ENABLE_CODE_ANALYSIS "Use Static Code Analysis on build" OFF)
set(CMAKE_CXX_STANDARD 17)
@ -127,7 +130,7 @@ if(NOT MINGW)
endif()
if(MINGW OR (NOT WIN32) OR VCPKG_TOOLCHAIN)
message("INFO: Using VCPKG for DirectX-Headers and DirectXMath.")
message(STATUS "Using VCPKG for DirectX-Headers and DirectXMath.")
find_package(directx-headers CONFIG REQUIRED)
find_package(directxmath CONFIG REQUIRED)
target_link_libraries(${PROJECT_NAME} PRIVATE Microsoft::DirectX-Headers Microsoft::DirectXMath)
@ -135,7 +138,7 @@ if(MINGW OR (NOT WIN32) OR VCPKG_TOOLCHAIN)
endif()
if(ENABLE_USE_EIGEN)
message("INFO: Using Eigen3 & Spectra for CSymmetricMatrix::GetEigen.")
message(STATUS "Using Eigen3 & Spectra for CSymmetricMatrix::GetEigen.")
find_package(Eigen3 REQUIRED)
find_package(spectra REQUIRED)
target_link_libraries(${PROJECT_NAME} PRIVATE Eigen3::Eigen Spectra::Spectra)
@ -158,7 +161,7 @@ install(TARGETS ${PROJECT_NAME}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/.nuget/${PROJECT_NAME}-config.cmake.in
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/build/${PROJECT_NAME}-config.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}-config.cmake
INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PACKAGE_NAME})
@ -179,7 +182,7 @@ install(FILES
if(BUILD_TOOLS AND WIN32 AND (NOT WINDOWS_STORE))
set(TOOL_EXES uvatlastool)
message("INFO: Using VCPKG for DirectXMesh and DirectXTex (required for uvatlastool).")
message(STATUS "Using VCPKG for DirectXMesh and DirectXTex (required for uvatlastool).")
find_package(directxmesh CONFIG REQUIRED COMPONENTS library utils)
find_package(directxtex CONFIG REQUIRED)
@ -210,12 +213,23 @@ if(MSVC)
endforeach()
if((${CMAKE_SIZEOF_VOID_P} EQUAL 4) AND (NOT ${DIRECTX_ARCH} MATCHES "^arm"))
foreach(t IN LISTS TOOL_EXES ITEMS ${PROJECT_NAME})
target_link_options(${t} PRIVATE /SAFESEH)
endforeach()
foreach(t IN LISTS TOOL_EXES ITEMS ${PROJECT_NAME})
target_link_options(${t} PRIVATE /SAFESEH)
endforeach()
endif()
if((MSVC_VERSION GREATER_EQUAL 1928) AND (CMAKE_SIZEOF_VOID_P EQUAL 8)
if(ENABLE_SPECTRE_MITIGATION
AND (MSVC_VERSION GREATER_EQUAL 1913)
AND (NOT WINDOWS_STORE)
AND (NOT (CMAKE_CXX_COMPILER_ID MATCHES "Clang")))
message(STATUS "Building Spectre-mitigated libraries.")
foreach(t IN LISTS TOOL_EXES ITEMS ${PROJECT_NAME})
target_compile_options(${t} PRIVATE "/Qspectre")
endforeach()
endif()
if((MSVC_VERSION GREATER_EQUAL 1928)
AND (CMAKE_SIZEOF_VOID_P EQUAL 8)
AND ((NOT (CMAKE_CXX_COMPILER_ID MATCHES "Clang")) OR (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0)))
foreach(t IN LISTS TOOL_EXES ITEMS ${PROJECT_NAME})
target_compile_options(${t} PRIVATE "$<$<NOT:$<CONFIG:DEBUG>>:/guard:ehcont>")

View File

@ -38,6 +38,10 @@ These components are designed to work without requiring any content from the leg
+ Command line tool and sample for UVAtlas library
* ``build\``
+ Contains YAML files for the build pipelines along with some miscellaneous build files and scripts.
## Documentation
Documentation is available on the [GitHub wiki](https://github.com/Microsoft/UVAtlas/wiki).

View File

@ -0,0 +1,164 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
#
# http://go.microsoft.com/fwlink/?LinkID=512686
# Builds the library using CMake.
schedules:
- cron: "45 4 * * *"
displayName: 'Nightly build'
branches:
include:
- main
resources:
repositories:
- repository: self
type: git
ref: refs/heads/main
trigger:
branches:
include:
- main
paths:
include:
- CMakeLists.txt
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
variables:
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:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A x64 -B out -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK)'
- task: CMake@1
displayName: 'CMake (MSVC): Build x64 Debug'
inputs:
cwd: ''
cmakeArgs: --build out -v --config Debug
- task: CMake@1
displayName: 'CMake (MSVC): Build x64 Release'
inputs:
cwd: ''
cmakeArgs: --build out -v --config RelWithDebInfo
- task: CMake@1
displayName: 'CMake (MSVC): Config x86'
inputs:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A Win32 -B out2 -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK)'
- task: CMake@1
displayName: 'CMake (MSVC): Build x86 Debug'
inputs:
cwd: ''
cmakeArgs: --build out2 -v --config Debug
- task: CMake@1
displayName: 'CMake (MSVC): Build x86 Release'
inputs:
cwd: ''
cmakeArgs: --build out2 -v --config RelWithDebInfo
- task: CMake@1
displayName: 'CMake (MSVC): Config ARM64'
inputs:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A ARM64 -B out3 -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK)'
- task: CMake@1
displayName: 'CMake (MSVC): Build ARM64 Debug'
inputs:
cwd: ''
cmakeArgs: --build out3 -v --config Debug
- task: CMake@1
displayName: 'CMake (MSVC): Build ARM64 Release'
inputs:
cwd: ''
cmakeArgs: --build out3 -v --config RelWithDebInfo
- task: CMake@1
displayName: 'CMake (UWP): Config x64'
inputs:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A x64 -B out4 -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0'
- task: CMake@1
displayName: 'CMake (UWP): Build x64'
inputs:
cwd: ''
cmakeArgs: --build out4 -v
- task: CMake@1
displayName: 'CMake (UWP): Config ARM'
inputs:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A ARM -B out5 -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0'
- task: CMake@1
displayName: 'CMake (UWP): Build ARM'
inputs:
cwd: ''
cmakeArgs: --build out5 -v
- task: CMake@1
displayName: 'CMake (ClangCl): Config x64'
inputs:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A x64 -T clangcl -B out6 -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK)'
- task: CMake@1
displayName: 'CMake (ClangCl): Build x64 Debug'
inputs:
cwd: ''
cmakeArgs: --build out6 -v --config Debug
- task: CMake@1
displayName: 'CMake (ClangCl): Build x64 Release'
inputs:
cwd: ''
cmakeArgs: --build out6 -v --config RelWithDebInfo
- task: CMake@1
displayName: 'CMake (ClangCl): Config ARM64'
inputs:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A ARM64 -T clangcl -B out7 -DCMAKE_SYSTEM_VERSION=$(WIN11_SDK)'
- task: CMake@1
displayName: 'CMake (ClangCl): Build ARM64'
inputs:
cwd: ''
cmakeArgs: --build out7 -v
- task: CMake@1
displayName: 'CMake (MSVC Spectre): Config x64'
inputs:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A x64 -B out8 -DENABLE_SPECTRE_MITIGATION=ON -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK)'
- task: CMake@1
displayName: 'CMake (MSVC Spectre): Build x64 Debug'
inputs:
cwd: ''
cmakeArgs: --build out8 -v --config Debug
- task: CMake@1
displayName: 'CMake (MSVC Spectre): Build x64 Release'
inputs:
cwd: ''
cmakeArgs: --build out8 -v --config RelWithDebInfo
- task: CMake@1
displayName: 'CMake (MSVC Spectre): Config ARM64'
inputs:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A ARM64 -B out9 -DENABLE_SPECTRE_MITIGATION=ON -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK)'
- task: CMake@1
displayName: 'CMake (MSVC Spectre): Build ARM64 Debug'
inputs:
cwd: ''
cmakeArgs: --build out9 -v --config Debug
- task: CMake@1
displayName: 'CMake (MSVC Spectre): Build ARM64 Release'
inputs:
cwd: ''
cmakeArgs: --build out9 -v --config RelWithDebInfo

View File

@ -0,0 +1,164 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
#
# http://go.microsoft.com/fwlink/?LinkID=512686
# Builds the library using CMake.
schedules:
- cron: "30 4 * * *"
displayName: 'Nightly build'
branches:
include:
- main
resources:
repositories:
- repository: self
type: git
ref: refs/heads/main
trigger:
branches:
include:
- main
paths:
include:
- CMakeLists.txt
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
variables:
VS_GENERATOR: 'Visual Studio 16 2019'
WIN10_SDK: '10.0.19041.0'
WIN11_SDK: '10.0.22000.0'
pool:
vmImage: windows-2019
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:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A x64 -B out -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK)'
- task: CMake@1
displayName: 'CMake (MSVC): Build x64 Debug'
inputs:
cwd: ''
cmakeArgs: --build out -v --config Debug
- task: CMake@1
displayName: 'CMake (MSVC): Build x64 Release'
inputs:
cwd: ''
cmakeArgs: --build out -v --config RelWithDebInfo
- task: CMake@1
displayName: 'CMake (MSVC): Config x86'
inputs:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A Win32 -B out2 -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK)'
- task: CMake@1
displayName: 'CMake (MSVC): Build x86 Debug'
inputs:
cwd: ''
cmakeArgs: --build out2 -v --config Debug
- task: CMake@1
displayName: 'CMake (MSVC): Build x86 Release'
inputs:
cwd: ''
cmakeArgs: --build out2 -v --config RelWithDebInfo
- task: CMake@1
displayName: 'CMake (MSVC): Config ARM64'
inputs:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A ARM64 -B out3 -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK)'
- task: CMake@1
displayName: 'CMake (MSVC): Build ARM64 Debug'
inputs:
cwd: ''
cmakeArgs: --build out3 -v --config Debug
- task: CMake@1
displayName: 'CMake (MSVC): Build ARM64 Release'
inputs:
cwd: ''
cmakeArgs: --build out3 -v --config RelWithDebInfo
- task: CMake@1
displayName: 'CMake (UWP): Config x64'
inputs:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A x64 -B out4 -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0'
- task: CMake@1
displayName: 'CMake (UWP): Build x64'
inputs:
cwd: ''
cmakeArgs: --build out4 -v
- task: CMake@1
displayName: 'CMake (UWP): Config ARM'
inputs:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A ARM -B out5 -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0'
- task: CMake@1
displayName: 'CMake (UWP): Build ARM'
inputs:
cwd: ''
cmakeArgs: --build out5 -v
- task: CMake@1
displayName: 'CMake (ClangCl): Config x64'
inputs:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A x64 -T clangcl -B out6 -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK)'
- task: CMake@1
displayName: 'CMake (ClangCl): Build x64 Debug'
inputs:
cwd: ''
cmakeArgs: --build out6 -v --config Debug
- task: CMake@1
displayName: 'CMake (ClangCl): Build x64 Release'
inputs:
cwd: ''
cmakeArgs: --build out6 -v --config RelWithDebInfo
- task: CMake@1
displayName: 'CMake (ClangCl): Config ARM64'
inputs:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A ARM64 -T clangcl -B out7 -DCMAKE_SYSTEM_VERSION=$(WIN11_SDK)'
- task: CMake@1
displayName: 'CMake (ClangCl): Build ARM64'
inputs:
cwd: ''
cmakeArgs: --build out7 -v
- task: CMake@1
displayName: 'CMake (MSVC Spectre): Config x64'
inputs:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A x64 -B out8 -DENABLE_SPECTRE_MITIGATION=ON -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK)'
- task: CMake@1
displayName: 'CMake (MSVC Spectre): Build x64 Debug'
inputs:
cwd: ''
cmakeArgs: --build out8 -v --config Debug
- task: CMake@1
displayName: 'CMake (MSVC Spectre): Build x64 Release'
inputs:
cwd: ''
cmakeArgs: --build out8 -v --config RelWithDebInfo
- task: CMake@1
displayName: 'CMake (MSVC Spectre): Config ARM64'
inputs:
cwd: ''
cmakeArgs: '-G "$(VS_GENERATOR)" -A ARM64 -B out9 -DENABLE_SPECTRE_MITIGATION=ON -DCMAKE_SYSTEM_VERSION=$(WIN10_SDK)'
- task: CMake@1
displayName: 'CMake (MSVC Spectre): Build ARM64 Debug'
inputs:
cwd: ''
cmakeArgs: --build out9 -v --config Debug
- task: CMake@1
displayName: 'CMake (MSVC Spectre): Build ARM64 Release'
inputs:
cwd: ''
cmakeArgs: --build out9 -v --config RelWithDebInfo

View File

@ -0,0 +1,240 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
#
# http://go.microsoft.com/fwlink/?LinkID=512686
# Builds the library for Windows Desktop and UWP.
schedules:
- cron: "30 5 * * *"
displayName: 'Nightly build'
branches:
include:
- main
resources:
repositories:
- repository: self
type: git
ref: refs/heads/main
trigger:
branches:
include:
- main
paths:
exclude:
- README.md
- HISTORY.md
- SECURITY.md
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
pool:
vmImage: windows-2022
variables:
GUID_FEED: $(ADOFeedGUID)
jobs:
- job: DESKTOP_BUILD
displayName: 'Win32 Desktop'
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
steps:
- checkout: self
clean: true
fetchTags: false
- task: NuGetToolInstaller@1
displayName: 'Use NuGet'
- task: NuGetCommand@2
displayName: NuGet restore
inputs:
solution: UVAtlas_2022_Win10.sln
feedRestore: $(GUID_FEED)
includeNuGetOrg: false
- task: VSBuild@1
displayName: Build solution UVAtlas_2022_Win10.sln 32dbg
inputs:
solution: UVAtlas_2022_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution UVAtlas_2022_Win10.sln 32rel
inputs:
solution: UVAtlas_2022_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Release
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution UVAtlas_2022_Win10.sln 64dbg
inputs:
solution: UVAtlas_2022_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution UVAtlas_2022_Win10.sln 64rel
inputs:
solution: UVAtlas_2022_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Release
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution UVAtlas_2022_Win10.sln arm64dbg
inputs:
solution: UVAtlas_2022_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution UVAtlas_2022_Win10.sln arm64rel
inputs:
solution: UVAtlas_2022_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Release
msbuildArchitecture: x64
- job: DESKTOP_BUILD_SPECTRE
displayName: 'Win32 Desktop (Spectre-mitigated)'
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
steps:
- checkout: self
clean: true
fetchTags: false
- task: NuGetToolInstaller@1
displayName: 'Use NuGet'
- task: NuGetCommand@2
displayName: NuGet restore
inputs:
solution: UVAtlas_2022_Win10.sln
feedRestore: $(GUID_FEED)
includeNuGetOrg: false
- task: VSBuild@1
displayName: Build solution UVAtlas_2022_Win10.sln 32dbg
inputs:
solution: UVAtlas_2022_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre
platform: x86
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution UVAtlas_2022_Win10.sln 32rel
inputs:
solution: UVAtlas_2022_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre
platform: x86
configuration: Release
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution UVAtlas_2022_Win10.sln 64dbg
inputs:
solution: UVAtlas_2022_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre
platform: x64
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution UVAtlas_2022_Win10.sln 64rel
inputs:
solution: UVAtlas_2022_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre
platform: x64
configuration: Release
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution UVAtlas_2022_Win10.sln arm64dbg
inputs:
solution: UVAtlas_2022_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre
platform: ARM64
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution UVAtlas_2022_Win10.sln arm64rel
inputs:
solution: UVAtlas_2022_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre
platform: ARM64
configuration: Release
msbuildArchitecture: x64
- job: UWP_BUILD
displayName: 'Universal Windows Platform (UWP)'
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
steps:
- checkout: self
clean: true
fetchTags: false
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2022.sln 32dbg
inputs:
solution: UVAtlas_Windows10_2022.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2022.sln 32rel
inputs:
solution: UVAtlas_Windows10_2022.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Release
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2022.sln 64dbg
inputs:
solution: UVAtlas_Windows10_2022.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2022.sln 64rel
inputs:
solution: UVAtlas_Windows10_2022.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Release
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2022.sln armdbg
inputs:
solution: UVAtlas_Windows10_2022.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2022.sln armrel
inputs:
solution: UVAtlas_Windows10_2022.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM
configuration: Release
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2022.sln arm64dbg
inputs:
solution: UVAtlas_Windows10_2022.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2022.sln arm64rel
inputs:
solution: UVAtlas_Windows10_2022.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Release
msbuildArchitecture: x64

View File

@ -0,0 +1,202 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
#
# http://go.microsoft.com/fwlink/?LinkID=512686
# Builds the library and test suite using the MinGW compiler.
schedules:
- cron: "30 4 * * *"
displayName: 'Nightly build'
branches:
include:
- main
resources:
repositories:
- repository: self
type: git
ref: refs/heads/main
trigger: none
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
pool:
vmImage: windows-2022
variables:
VCPKG_CMAKE_DIR: '$(VCPKG_ROOT)/scripts/buildsystems/vcpkg.cmake'
GITHUB_PAT: $(GITHUBPUBLICTOKEN)
WIN11_SDK: '10.0.22000.0'
URL_MINGW32: https://github.com/brechtsanders/winlibs_mingw/releases/download/12.2.0-14.0.6-10.0.0-ucrt-r2/winlibs-i686-posix-dwarf-gcc-12.2.0-llvm-14.0.6-mingw-w64ucrt-10.0.0-r2.zip
HASH_MINGW32: 'fcd1e11b896190da01c83d5b5fb0d37b7c61585e53446c2dab0009debc3915e757213882c35e35396329338de6f0222ba012e23a5af86932db45186a225d1272'
URL_MINGW64: https://github.com/brechtsanders/winlibs_mingw/releases/download/12.2.0-14.0.6-10.0.0-ucrt-r2/winlibs-x86_64-posix-seh-gcc-12.2.0-llvm-14.0.6-mingw-w64ucrt-10.0.0-r2.zip
HASH_MINGW64: '6694e552d73195b57f283645ab78cb0180f4d957b5501a83e6b4f2679dfad13a8e85e1df6f7b061ea4431fbd2bb0c8f2ac3a1dd810489c1a8d1665b226df8092'
jobs:
- job: MINGW32_BUILD
displayName: 'Minimalist GNU for Windows (MinGW32)'
steps:
- checkout: self
clean: true
fetchTags: false
- task: CmdLine@2
# We can use the preinstalled vcpkg instead of the latest when MS Hosted updates their vcpkg to the newer DirectX-Headers
displayName: Fetch VCPKG
inputs:
script: git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/vcpkg.git
workingDirectory: $(Build.SourcesDirectory)
- task: CmdLine@2
displayName: VCPKG Bootstrap
inputs:
script: |
call bootstrap-vcpkg.bat
echo ##vso[task.setvariable variable=VCPKG_DEFAULT_TRIPLET;]x86-mingw-static
echo ##vso[task.setvariable variable=VCPKG_DEFAULT_HOST_TRIPLET;]x86-mingw-static
workingDirectory: $(Build.SourcesDirectory)\vcpkg
- task: PowerShell@2
# We install GCC 12.2 as the MS Hosted only offers 11.2
displayName: Install MinGW32
inputs:
targetType: inline
script: |
$ProgressPreference = 'SilentlyContinue'
Write-Host "Downloading winlibs..."
Invoke-WebRequest -Uri "$(URL_MINGW32)" -OutFile "gw32.zip"
Write-Host "Downloaded."
$fileHash = Get-FileHash -Algorithm SHA512 gw32.zip | ForEach { $_.Hash} | Out-String
$filehash = $fileHash.Trim()
Write-Host "##[debug]SHA512: " $fileHash
if ($fileHash -ne '$(HASH_MINGW32)') {
Write-Error -Message "##[error]Computed hash does not match!" -ErrorAction Stop
}
Write-Host "Extracting winlibs..."
Expand-Archive -LiteralPath 'gw32.zip'
Write-Host "Extracted."
Write-Host "Added to path: $env:BUILD_SOURCESDIRECTORY\gw32\mingw32\bin"
Write-Host "##vso[task.prependpath]$env:BUILD_SOURCESDIRECTORY\gw32\mingw32\bin"
workingDirectory: $(Build.SourcesDirectory)
- task: CmdLine@2
displayName: GCC version
inputs:
script: g++ --version
- task: CmdLine@2
# The error checks are commented out due to a bug with vcpkg not returning 0 on success.
displayName: VCPKG install headers
inputs:
script: |
call vcpkg install directxmath
REM @if ERRORLEVEL 1 goto error
call vcpkg install directx-headers
REM @if ERRORLEVEL 1 goto error
:finish
@echo --- VCPKG COMPLETE ---
exit /b 0
:error
@echo --- ERROR: VCPKG FAILED ---
exit /b 1
workingDirectory: $(Build.SourcesDirectory)\vcpkg
- task: CMake@1
displayName: CMake (MinGW32)
inputs:
cwd: ''
cmakeArgs: -B out -DCMAKE_BUILD_TYPE="Debug" -DDIRECTX_ARCH=x86 -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)" -DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles" -DVCPKG_TARGET_TRIPLET=x86-mingw-static
- task: CMake@1
displayName: CMake (MinGW32) Build
inputs:
cwd: ''
cmakeArgs: --build out
- job: MINGW64_BUILD
displayName: 'Minimalist GNU for Windows (MinGW-W64) BUILD_TESTING=ON'
steps:
- checkout: self
clean: true
fetchTags: false
- task: CmdLine@2
displayName: Fetch VCPKG
inputs:
script: git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/vcpkg.git
workingDirectory: $(Build.SourcesDirectory)
- task: CmdLine@2
displayName: Fetch Tests
inputs:
script: git clone --quiet https://%GITHUB_PAT%@github.com/walbourn/uvatlastest.git Tests
- task: CmdLine@2
displayName: VCPKG Bootstrap
inputs:
script: |
call bootstrap-vcpkg.bat
echo ##vso[task.setvariable variable=VCPKG_DEFAULT_TRIPLET;]x64-mingw-static
echo ##vso[task.setvariable variable=VCPKG_DEFAULT_HOST_TRIPLET;]x64-mingw-static
workingDirectory: $(Build.SourcesDirectory)\vcpkg
- task: PowerShell@2
displayName: Install MinGW-W64
inputs:
targetType: inline
script: |
$ProgressPreference = 'SilentlyContinue'
Write-Host "Downloading winlibs..."
Invoke-WebRequest -Uri "$(URL_MINGW64)" -OutFile "gw64.zip"
Write-Host "Downloaded."
$fileHash = Get-FileHash -Algorithm SHA512 gw64.zip | ForEach { $_.Hash} | Out-String
$filehash = $fileHash.Trim()
Write-Host "##[debug]SHA512: " $fileHash
if ($fileHash -ne '$(HASH_MINGW64)') {
Write-Error -Message "##[error]Computed hash does not match!" -ErrorAction Stop
}
Write-Host "Extracting winlibs..."
Expand-Archive -LiteralPath 'gw64.zip'
Write-Host "Extracted."
Write-Host "Added to path: $env:BUILD_SOURCESDIRECTORY\gw64\mingw64\bin"
Write-Host "##vso[task.prependpath]$env:BUILD_SOURCESDIRECTORY\gw64\mingw64\bin"
$sdkroot = Get-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows Kits\Installed Roots' | Select-Object -ExpandProperty KitsRoot10
$windows11sdk = "{0}bin\$(WIN11_SDK)\" -f $sdkroot
$windows11x64sdk = "{0}bin\$(WIN11_SDK)\x64" -f $sdkroot
if (Test-Path "$windows11sdk") {
Write-Host "##vso[task.setvariable variable=WindowsSdkVerBinPath;]$windows11sdk"
Write-Host "##vso[task.prependpath]$windows11x64sdk"
}
else {
Write-Error -Message "##[error]Can't find Windows SDK ($(WIN11_SDK))" -ErrorAction Stop
}
workingDirectory: $(Build.SourcesDirectory)
- task: CmdLine@2
displayName: GCC version
inputs:
script: g++ --version
- task: CmdLine@2
displayName: VCPKG install headers
inputs:
script: |
call vcpkg install directxmath
REM @if ERRORLEVEL 1 goto error
call vcpkg install directx-headers
REM @if ERRORLEVEL 1 goto error
call vcpkg install directxmesh
REM @if ERRORLEVEL 1 goto error
call vcpkg install directxtex
REM @if ERRORLEVEL 1 goto error
:finish
@echo --- VCPKG COMPLETE ---
exit /b 0
:error
@echo --- ERROR: VCPKG FAILED ---
exit /b 1
workingDirectory: $(Build.SourcesDirectory)\vcpkg
- task: CMake@1
displayName: CMake (MinGW-W64)
inputs:
cwd: ''
cmakeArgs: -B out -DCMAKE_BUILD_TYPE="Debug" -DDIRECTX_ARCH=x64 -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)" -DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles" -DVCPKG_TARGET_TRIPLET=x64-mingw-static
- task: CMake@1
displayName: CMake (MinGW-W64) Build
inputs:
cwd: ''
cmakeArgs: --build out

View File

@ -0,0 +1,238 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
#
# http://go.microsoft.com/fwlink/?LinkID=512686
# Builds the library using the latest prerelease of the Windows SDK from nuget.org.
schedules:
- cron: "0 6 * * 6"
displayName: 'Saturday night build'
branches:
include:
- main
always: true
resources:
repositories:
- repository: self
type: git
ref: refs/heads/main
trigger: none
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
variables:
EXTRACTED_FOLDER: $(ExtractedFolder)
WSDKEnableBWOI: true
URL_FEED: $(ADOFeedURL)
pool:
vmImage: windows-2019
jobs:
- job: DESKTOP_BUILD
displayName: 'Win32 Desktop'
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
steps:
- checkout: self
clean: true
fetchTags: false
- task: NuGetToolInstaller@1
displayName: 'Use NuGet'
- 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-DirectXMesh -Source $(URL_FEED) -ConfigFile NuGet.config
- task: PowerShell@2
displayName: 'Set nuget.config to single source'
inputs:
targetType: inline
script: |
$file = '.\NuGet.Config'
$doc = [xml](Get-Content $file)
$newelement = $doc.CreateElement("clear")
$clearadd = $doc.configuration.packageSources.PrependChild($newelement)
$doc.OuterXml | Set-Content $file
- task: NuGetCommand@2
displayName: NuGet Install WSDK x64
inputs:
command: custom
arguments: install -prerelease Microsoft.Windows.SDK.CPP.x64 -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER)\SDK
- task: NuGetCommand@2
displayName: NuGet Install WSDK x86
inputs:
command: custom
arguments: install -prerelease Microsoft.Windows.SDK.CPP.x86 -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER)\SDK
- task: NuGetCommand@2
displayName: NuGet Install WSDK arm64
inputs:
command: custom
arguments: install -prerelease Microsoft.Windows.SDK.CPP.arm64 -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER)\SDK
- task: CopyFiles@2
displayName: Set up Directory.Build.props
inputs:
SourceFolder: build
Contents: 'Directory.Build.props'
TargetFolder: $(Build.SourcesDirectory)
- task: NuGetCommand@2
displayName: NuGet restore
inputs:
solution: UVAtlas_2019_Win10.sln
selectOrConfig: config
nugetConfigPath: NuGet.Config
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln 32dbg
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln 32rel
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Release
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln 64dbg
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln 64rel
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Release
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln arm64dbg
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln arm64rel
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Release
- job: UWP_BUILD
displayName: 'Universal Windows Platform (UWP)'
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
steps:
- checkout: self
clean: true
fetchTags: false
- task: NuGetToolInstaller@1
displayName: 'Use NuGet'
- task: NuGetCommand@2
displayName: NuGet set package source to ADO feed
inputs:
command: custom
arguments: sources add -Name xboxgdk-DirectXMesh -Source $(URL_FEED) -ConfigFile NuGet.config
- task: PowerShell@2
displayName: 'Set nuget.config to single source'
inputs:
targetType: inline
script: |
$file = '.\NuGet.Config'
$doc = [xml](Get-Content $file)
$newelement = $doc.CreateElement("clear")
$clearadd = $doc.configuration.packageSources.PrependChild($newelement)
$doc.OuterXml | Set-Content $file
- task: NuGetCommand@2
displayName: NuGet Install WSDK x64
inputs:
command: custom
arguments: install -prerelease Microsoft.Windows.SDK.CPP.x64 -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER)\SDK
- task: NuGetCommand@2
displayName: NuGet Install WSDK x86
inputs:
command: custom
arguments: install -prerelease Microsoft.Windows.SDK.CPP.x86 -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER)\SDK
- task: NuGetCommand@2
displayName: NuGet Install WSDK arm
inputs:
command: custom
arguments: install -prerelease Microsoft.Windows.SDK.CPP.arm -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER)\SDK
- task: NuGetCommand@2
displayName: NuGet Install WSDK arm64
inputs:
command: custom
arguments: install -prerelease Microsoft.Windows.SDK.CPP.arm64 -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER)\SDK
- task: CopyFiles@2
displayName: Set up Directory.Build.props
inputs:
SourceFolder: build
Contents: 'Directory.Build.props'
TargetFolder: $(Build.SourcesDirectory)
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln 32dbg
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln 32rel
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Release
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln 64dbg
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln 64rel
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Release
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln armdbg
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln armrel
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM
configuration: Release
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln arm64dbg
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln arm64rel
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Release

View File

@ -0,0 +1,238 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
#
# http://go.microsoft.com/fwlink/?LinkID=512686
# Builds the library using the latest prerelease of the Windows SDK from nuget.org.
schedules:
- cron: "0 1 * * 0"
displayName: 'Sunday night build'
branches:
include:
- main
always: true
resources:
repositories:
- repository: self
type: git
ref: refs/heads/main
trigger: none
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
variables:
EXTRACTED_FOLDER: $(ExtractedFolder)
WSDKEnableBWOI: true
URL_FEED: $(ADOFeedURL)
pool:
vmImage: windows-2019
jobs:
- job: DESKTOP_BUILD
displayName: 'Win32 Desktop'
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
steps:
- checkout: self
clean: true
fetchTags: false
- task: NuGetToolInstaller@1
displayName: 'Use NuGet'
- 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-DirectXMesh -Source $(URL_FEED) -ConfigFile NuGet.config
- task: PowerShell@2
displayName: 'Set nuget.config to single source'
inputs:
targetType: inline
script: |
$file = '.\NuGet.Config'
$doc = [xml](Get-Content $file)
$newelement = $doc.CreateElement("clear")
$clearadd = $doc.configuration.packageSources.PrependChild($newelement)
$doc.OuterXml | Set-Content $file
- task: NuGetCommand@2
displayName: NuGet Install WSDK x64
inputs:
command: custom
arguments: install Microsoft.Windows.SDK.CPP.x64 -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER)\SDK
- task: NuGetCommand@2
displayName: NuGet Install WSDK x86
inputs:
command: custom
arguments: install Microsoft.Windows.SDK.CPP.x86 -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER)\SDK
- task: NuGetCommand@2
displayName: NuGet Install WSDK arm64
inputs:
command: custom
arguments: install Microsoft.Windows.SDK.CPP.arm64 -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER)\SDK
- task: CopyFiles@2
displayName: Set up Directory.Build.props
inputs:
SourceFolder: build
Contents: 'Directory.Build.props'
TargetFolder: $(Build.SourcesDirectory)
- task: NuGetCommand@2
displayName: NuGet restore
inputs:
solution: UVAtlas_2019_Win10.sln
selectOrConfig: config
nugetConfigPath: NuGet.Config
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln 32dbg
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln 32rel
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Release
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln 64dbg
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln 64rel
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Release
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln arm64dbg
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln arm64rel
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Release
- job: UWP_BUILD
displayName: 'Universal Windows Platform (UWP)'
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
steps:
- checkout: self
clean: true
fetchTags: false
- task: NuGetToolInstaller@1
displayName: 'Use NuGet'
- task: NuGetCommand@2
displayName: NuGet set package source to ADO feed
inputs:
command: custom
arguments: sources add -Name xboxgdk-DirectXMesh -Source $(URL_FEED) -ConfigFile NuGet.config
- task: PowerShell@2
displayName: 'Set nuget.config to single source'
inputs:
targetType: inline
script: |
$file = '.\NuGet.Config'
$doc = [xml](Get-Content $file)
$newelement = $doc.CreateElement("clear")
$clearadd = $doc.configuration.packageSources.PrependChild($newelement)
$doc.OuterXml | Set-Content $file
- task: NuGetCommand@2
displayName: NuGet Install WSDK x64
inputs:
command: custom
arguments: install Microsoft.Windows.SDK.CPP.x64 -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER)\SDK
- task: NuGetCommand@2
displayName: NuGet Install WSDK x86
inputs:
command: custom
arguments: install Microsoft.Windows.SDK.CPP.x86 -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER)\SDK
- task: NuGetCommand@2
displayName: NuGet Install WSDK arm
inputs:
command: custom
arguments: install Microsoft.Windows.SDK.CPP.arm -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER)\SDK
- task: NuGetCommand@2
displayName: NuGet Install WSDK arm64
inputs:
command: custom
arguments: install Microsoft.Windows.SDK.CPP.arm64 -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER)\SDK
- task: CopyFiles@2
displayName: Set up Directory.Build.props
inputs:
SourceFolder: build
Contents: 'Directory.Build.props'
TargetFolder: $(Build.SourcesDirectory)
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln 32dbg
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln 32rel
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Release
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln 64dbg
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln 64rel
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Release
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln armdbg
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln armrel
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM
configuration: Release
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln arm64dbg
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln arm64rel
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Release

View File

@ -0,0 +1,229 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
#
# http://go.microsoft.com/fwlink/?LinkID=512686
# Builds the library and test suite.
schedules:
- cron: "45 6 * * *"
displayName: 'Nightly build'
branches:
include:
- main
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
pool:
vmImage: windows-2022
variables:
GITHUB_PAT: $(GITHUBPUBLICTOKEN)
jobs:
- job: DESKTOP_BUILD
displayName: 'Win32 Desktop'
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
steps:
- checkout: none
- task: DeleteFiles@1
displayName: Delete files
inputs:
Contents: |
DirectXTex\**
DirectXMesh\**
UVAtlas\**
Tests\**
RemoveDotFiles: true
- task: CmdLine@2
displayName: Fetch Libraries
inputs:
script: |
git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/DirectXMesh.git
git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/DirectXTex.git
git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/UVAtlas.git
workingDirectory: $(Build.SourcesDirectory)
failOnStderr: true
- task: CmdLine@2
displayName: Fetch Tests
inputs:
script: git clone --quiet https://%GITHUB_PAT%@github.com/walbourn/uvatlastest.git Tests
workingDirectory: $(Build.SourcesDirectory)/UVAtlas
failOnStderr: true
- task: VSBuild@1
displayName: Build solution xtuvatlas_Desktop_2022.sln 32dbg
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2022.sln
vsVersion: 17.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solutionxtuvatlas_Desktop_2022.sln 32rel
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2022.sln
vsVersion: 17.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Release
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution xtuvatlas_Desktop_2022.sln 64dbg
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2022.sln
vsVersion: 17.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution xtuvatlas_Desktop_2022.sln 64rel
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2022.sln
vsVersion: 17.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Release
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution xtuvatlas_Desktop_2022.sln arm64dbg
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2022.sln
vsVersion: 17.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution xtuvatlas_Desktop_2022.sln arm64rel
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2022.sln
vsVersion: 17.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Release
msbuildArchitecture: x64
- job: CMAKE_BUILD
displayName: 'CMake BUILD_TESTING=ON'
timeoutInMinutes: 120
steps:
- checkout: none
- task: DeleteFiles@1
displayName: Delete files
inputs:
Contents: |
DirectXTex\**
DirectXMesh\**
UVAtlas\**
Tests\**
RemoveDotFiles: true
- task: CmdLine@2
displayName: Fetch Libraries
inputs:
script: |
git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/DirectXMesh.git
git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/DirectXTex.git
git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/UVAtlas.git
workingDirectory: $(Build.SourcesDirectory)
failOnStderr: true
- task: CmdLine@2
displayName: Fetch Tests
inputs:
script: git clone --quiet https://%GITHUB_PAT%@github.com/walbourn/uvatlastest.git Tests
workingDirectory: $(Build.SourcesDirectory)/UVAtlas
failOnStderr: true
- task: CmdLine@2
displayName: 'Setup environment for CMake to use VS'
inputs:
script: |
@echo off
pushd "C:\Program Files (x86)\Microsoft Visual Studio\Installer\"
for /f "delims=" %%x in ('.\vswhere.exe -latest -property InstallationPath') do set VSPATH=%%x
popd
call "%VSPATH%\VC\Auxiliary\Build\vcvarsall.bat" x64
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
echo ##vso[task.setvariable variable=EXTERNAL_INCLUDE;]%EXTERNAL_INCLUDE%
echo ##vso[task.setvariable variable=INCLUDE;]%INCLUDE%
echo ##vso[task.setvariable variable=LIB;]%LIB%
- task: CMake@1
displayName: CMake (MSVC; x64-Debug) Config
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --preset=x64-Debug
- task: CMake@1
displayName: CMake (MSVC; x64-Debug) Build
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --build out/build/x64-Debug -v
- task: CMake@1
displayName: CMake (MSVC; x64-Release) Config
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --preset=x64-Release
- task: CMake@1
displayName: CMake (MSVC; x64-Release) Build
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --build out/build/x64-Release -v
- task: CMake@1
displayName: CMake (clang/LLVM; x64-Debug) Config
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --preset=x64-Debug-Clang
- task: CMake@1
displayName: CMake (clang/LLVM; x64-Debug) Build
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --build out/build/x64-Debug-Clang -v
- task: CMake@1
displayName: CMake (clang/LLVM; x64-Release) Config
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --preset=x64-Release-Clang
- task: CMake@1
displayName: CMake (clang/LLVM; x64-Release) Build
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --build out/build/x64-Release-Clang -v
- task: CmdLine@2
displayName: 'Set LIB for ARM64'
inputs:
script: |
@echo off
pushd "C:\Program Files (x86)\Microsoft Visual Studio\Installer\"
for /f "delims=" %%x in ('.\vswhere.exe -latest -property InstallationPath') do set VSPATH=%%x
popd
call "%VSPATH%\VC\Auxiliary\Build\vcvarsall.bat" arm64
echo ##vso[task.setvariable variable=LIB;]%LIB%
- task: CMake@1
displayName: CMake (clang/LLVM; arm64-Debug) Config
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --preset=arm64-Debug-Clang
- task: CMake@1
displayName: CMake (clang/LLVM; arm64-Debug) Build
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --build out/build/arm64-Debug-Clang -v
- task: CMake@1
displayName: CMake (clang/LLVM; arm64-Release) Config
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --preset=arm64-Release-Clang
- task: CMake@1
displayName: CMake (clang/LLVM; arm64-Release) Build
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --build out/build/arm64-Release-Clang -v

View File

@ -0,0 +1,103 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
#
# http://go.microsoft.com/fwlink/?LinkID=512686
# Builds the library and test suite.
schedules:
- cron: "30 6 * * *"
displayName: 'Nightly build'
branches:
include:
- main
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
pool:
vmImage: windows-2019
variables:
GITHUB_PAT: $(GITHUBPUBLICTOKEN)
jobs:
- job: DESKTOP_BUILD
displayName: 'Win32 Desktop'
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
steps:
- checkout: none
- task: DeleteFiles@1
displayName: Delete files
inputs:
Contents: |
DirectXTex\**
DirectXMesh\**
UVAtlas\**
Tests\**
RemoveDotFiles: true
- task: CmdLine@2
displayName: Fetch Libraries
inputs:
script: |
git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/DirectXMesh.git
git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/DirectXTex.git
git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/UVAtlas.git
workingDirectory: $(Build.SourcesDirectory)
failOnStderr: true
- task: CmdLine@2
displayName: Fetch Tests
inputs:
script: git clone --quiet https://%GITHUB_PAT%@github.com/walbourn/uvatlastest.git Tests
workingDirectory: $(Build.SourcesDirectory)/UVAtlas
failOnStderr: true
- task: VSBuild@1
displayName: Build solution xtuvatlas_Desktop_2019.sln 32dbg
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2019.sln
vsVersion: 16.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Debug
- task: VSBuild@1
displayName: Build solutionxtuvatlas_Desktop_2019.sln 32rel
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2019.sln
vsVersion: 16.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Release
- task: VSBuild@1
displayName: Build solution xtuvatlas_Desktop_2019.sln 64dbg
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2019.sln
vsVersion: 16.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Debug
- task: VSBuild@1
displayName: Build solution xtuvatlas_Desktop_2019.sln 64rel
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2019.sln
vsVersion: 16.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Release
- task: VSBuild@1
displayName: Build solution xtuvatlas_Desktop_2019.sln arm64dbg
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2019.sln
vsVersion: 16.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Debug
- task: VSBuild@1
displayName: Build solution xtuvatlas_Desktop_2019.sln arm64rel
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2019.sln
vsVersion: 16.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Release

View File

@ -0,0 +1,101 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
#
# http://go.microsoft.com/fwlink/?LinkID=512686
# Builds the library for Windows Subsystem for Linux (WSL)
schedules:
- cron: "0 1 * * *"
displayName: 'Nightly build'
branches:
include:
- main
resources:
repositories:
- repository: self
type: git
ref: refs/heads/main
trigger: none
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
pool:
vmImage: ubuntu-22.04
variables:
GITHUB_PAT: $(GITHUBPUBLICTOKEN)
DEST_DIR: $(DESTDIR)
jobs:
- job: BUILD_WSL
displayName: 'Windows Subsystem for Linux (WSL)'
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
steps:
- checkout: self
clean: true
fetchTags: false
- task: CmdLine@2
displayName: Fetch directx-headers
inputs:
script: git clone --quiet 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
- 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 https://%GITHUB_PAT%@github.com/microsoft/DirectXMath.git directxmath
- task: CMake@1
displayName: CMake DirectXMath
inputs:
cwd: directxmath
cmakeArgs: .
- 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 -o $(DEST_DIR)usr/local/include/sal.h
$fileHash = Get-FileHash -Algorithm SHA512 $(DEST_DIR)usr/local/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 UVAtlas
inputs:
cwd: ''
cmakeArgs: -B out -DCMAKE_PREFIX_PATH=$(DEST_DIR)usr/local/share;$(DEST_DIR)usr/local/cmake
- task: CMake@1
displayName: CMake UVAtlas (Build)
inputs:
cwd: ''
cmakeArgs: --build out -v

View File

@ -0,0 +1,101 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
#
# http://go.microsoft.com/fwlink/?LinkID=512686
# Builds the library for Windows Subsystem for Linux (WSL)
schedules:
- cron: "0 1 * * *"
displayName: 'Nightly build'
branches:
include:
- main
resources:
repositories:
- repository: self
type: git
ref: refs/heads/main
trigger: none
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
pool:
vmImage: ubuntu-20.04
variables:
GITHUB_PAT: $(GITHUBPUBLICTOKEN)
DEST_DIR: $(DESTDIR)
jobs:
- job: BUILD_WSL
displayName: 'Windows Subsystem for Linux (WSL)'
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
steps:
- checkout: self
clean: true
fetchTags: false
- task: CmdLine@2
displayName: Fetch directx-headers
inputs:
script: git clone --quiet 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
- 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 https://%GITHUB_PAT%@github.com/microsoft/DirectXMath.git directxmath
- task: CMake@1
displayName: CMake DirectXMath
inputs:
cwd: directxmath
cmakeArgs: .
- 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 -o $(DEST_DIR)usr/local/include/sal.h
$fileHash = Get-FileHash -Algorithm SHA512 $(DEST_DIR)usr/local/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 UVAtlas
inputs:
cwd: ''
cmakeArgs: -B out -DCMAKE_PREFIX_PATH=$(DEST_DIR)usr/local/share;$(DEST_DIR)usr/local/cmake
- task: CMake@1
displayName: CMake UVAtlas (Build)
inputs:
cwd: ''
cmakeArgs: --build out -v

220
build/UVAtlas-GitHub.yml Normal file
View File

@ -0,0 +1,220 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
#
# http://go.microsoft.com/fwlink/?LinkID=512686
# Builds the library for Windows Desktop and UWP.
schedules:
- cron: "0 5 * * *"
displayName: 'Nightly build'
branches:
include:
- main
resources:
repositories:
- repository: self
type: git
ref: refs/heads/main
trigger:
branches:
include:
- main
paths:
exclude:
- README.md
- HISTORY.md
- SECURITY.md
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
pool:
vmImage: windows-2019
variables:
GUID_FEED: $(ADOFeedGUID)
jobs:
- job: DESKTOP_BUILD
displayName: 'Win32 Desktop'
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
steps:
- checkout: self
clean: true
fetchTags: false
- task: NuGetToolInstaller@1
displayName: 'Use NuGet'
- task: NuGetCommand@2
displayName: NuGet restore
inputs:
solution: UVAtlas_2019_Win10.sln
feedRestore: $(GUID_FEED)
includeNuGetOrg: false
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln 32dbg
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln 32rel
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Release
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln 64dbg
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln 64rel
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Release
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln arm64dbg
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln arm64rel
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Release
- job: DESKTOP_BUILD_SPECTRE
displayName: 'Win32 Desktop (Spectre-mitigated)'
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
steps:
- checkout: self
clean: true
fetchTags: false
- task: NuGetToolInstaller@1
displayName: 'Use NuGet'
- task: NuGetCommand@2
displayName: NuGet restore
inputs:
solution: UVAtlas_2019_Win10.sln
feedRestore: $(GUID_FEED)
includeNuGetOrg: false
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln 32dbg
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre
platform: x86
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln 32rel
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre
platform: x86
configuration: Release
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln 64dbg
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre
platform: x64
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln 64rel
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre
platform: x64
configuration: Release
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln arm64dbg
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre
platform: ARM64
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_2019_Win10.sln arm64rel
inputs:
solution: UVAtlas_2019_Win10.sln
msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=Spectre
platform: ARM64
configuration: Release
- job: UWP_BUILD
displayName: 'Universal Windows Platform (UWP)'
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
steps:
- checkout: self
clean: true
fetchTags: false
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln 32dbg
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln 32rel
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Release
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln 64dbg
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln 64rel
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Release
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln armdbg
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln armrel
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM
configuration: Release
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln arm64dbg
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Debug
- task: VSBuild@1
displayName: Build solution UVAtlas_Windows10_2019.sln arm64rel
inputs:
solution: UVAtlas_Windows10_2019.sln
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Release