diff --git a/build/UVAtlas-GitHub-CMake-Dev17.yml b/build/UVAtlas-GitHub-CMake-Dev17.yml index 100f6df..28dd230 100644 --- a/build/UVAtlas-GitHub-CMake-Dev17.yml +++ b/build/UVAtlas-GitHub-CMake-Dev17.yml @@ -17,20 +17,24 @@ trigger: include: - main paths: - include: - - CMakeLists.txt - - build/CompilerAndLinker.cmake - - build/JoinPaths.cmake + exclude: + - '*.md' + - LICENSE + - '.nuget/*' + - build/*.mdb + - build/*.ps1 pr: branches: include: - main paths: - include: - - CMakeLists.txt - - build/CompilerAndLinker.cmake - - build/JoinPaths.cmake + exclude: + - '*.md' + - LICENSE + - '.nuget/*' + - build/*.mdb + - build/*.ps1 drafts: false resources: diff --git a/build/UVAtlas-GitHub-CMake.yml b/build/UVAtlas-GitHub-CMake.yml index 7d39e8f..f654dc1 100644 --- a/build/UVAtlas-GitHub-CMake.yml +++ b/build/UVAtlas-GitHub-CMake.yml @@ -17,20 +17,24 @@ trigger: include: - main paths: - include: - - CMakeLists.txt - - build/CompilerAndLinker.cmake - - build/JoinPaths.cmake + exclude: + - '*.md' + - LICENSE + - '.nuget/*' + - build/*.mdb + - build/*.ps1 pr: branches: include: - main paths: - include: - - CMakeLists.txt - - build/CompilerAndLinker.cmake - - build/JoinPaths.cmake + exclude: + - '*.md' + - LICENSE + - '.nuget/*' + - build/*.mdb + - build/*.ps1 drafts: false resources: diff --git a/build/UVAtlas-GitHub-MinGW.yml b/build/UVAtlas-GitHub-MinGW.yml index 0d030eb..bb8255c 100644 --- a/build/UVAtlas-GitHub-MinGW.yml +++ b/build/UVAtlas-GitHub-MinGW.yml @@ -18,20 +18,23 @@ trigger: - main paths: exclude: - - README.md - - HISTORY.md - - SECURITY.md + - '*.md' - LICENSE + - '.nuget/*' + - build/*.mdb + - build/*.ps1 + pr: branches: include: - main paths: exclude: - - README.md - - HISTORY.md - - SECURITY.md + - '*.md' - LICENSE + - '.nuget/*' + - build/*.mdb + - build/*.ps1 drafts: false resources: diff --git a/build/UVAtlas-GitHub-Test.yml b/build/UVAtlas-GitHub-Test.yml index e77683e..3c4b563 100644 --- a/build/UVAtlas-GitHub-Test.yml +++ b/build/UVAtlas-GitHub-Test.yml @@ -18,20 +18,29 @@ trigger: - main paths: exclude: - - README.md - - HISTORY.md - - SECURITY.md + - '*.md' - LICENSE + - CMake* + - '.nuget/*' + - build/*.cmake + - build/*.in + - build/*.mdb + - build/*.ps1 + pr: branches: include: - main paths: exclude: - - README.md - - HISTORY.md - - SECURITY.md + - '*.md' - LICENSE + - CMake* + - '.nuget/*' + - build/*.cmake + - build/*.in + - build/*.mdb + - build/*.ps1 drafts: false name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r) diff --git a/build/UVAtlas-GitHub-WSL-11.yml b/build/UVAtlas-GitHub-WSL-11.yml index ebbf8cc..9178a5c 100644 --- a/build/UVAtlas-GitHub-WSL-11.yml +++ b/build/UVAtlas-GitHub-WSL-11.yml @@ -27,8 +27,9 @@ pool: vmImage: ubuntu-22.04 variables: + VCPKG_CMAKE_DIR: '$(VCPKG_ROOT)/scripts/buildsystems/vcpkg.cmake' GITHUB_PAT: $(GITHUBPUBLICTOKEN) - DEST_DIR: $(DESTDIR) + LOCAL_PKG_DIR: '$(Agent.BuildDirectory)/install/' jobs: - job: BUILD_WSL @@ -47,7 +48,7 @@ jobs: displayName: CMake DirectX-Headers inputs: cwd: directx-headers - cmakeArgs: . -DDXHEADERS_BUILD_TEST=OFF -DDXHEADERS_BUILD_GOOGLE_TEST=OFF + 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: @@ -66,7 +67,7 @@ jobs: displayName: CMake DirectXMath inputs: cwd: directxmath - cmakeArgs: . + cmakeArgs: . -DCMAKE_INSTALL_PREFIX=$(LOCAL_PKG_DIR) - task: CMake@1 displayName: CMake DirectXMath (Build) inputs: @@ -83,8 +84,8 @@ jobs: targetType: inline script: | $ProgressPreference = 'SilentlyContinue' - Invoke-WebRequest -Uri https://raw.githubusercontent.com/dotnet/corert/master/src/Native/inc/unix/sal.h -OutFile $(DEST_DIR)usr/local/include/sal.h - $fileHash = Get-FileHash -Algorithm SHA512 $(DEST_DIR)usr/local/include/sal.h | ForEach { $_.Hash} | Out-String + 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") { @@ -95,7 +96,7 @@ jobs: displayName: CMake UVAtlas (Config) dbg inputs: cwd: '$(Build.SourcesDirectory)' - cmakeArgs: -B out -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=$(DEST_DIR)usr/local/share;$(DEST_DIR)usr/local/cmake + cmakeArgs: -B out -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=$(LOCAL_PKG_DIR)/share;$(LOCAL_PKG_DIR)/cmake - task: CMake@1 displayName: CMake UVAtlas (Build) dbg inputs: @@ -105,9 +106,71 @@ jobs: displayName: CMake UVAtlas (Config) rel inputs: cwd: '$(Build.SourcesDirectory)' - cmakeArgs: -B out2 -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$(DEST_DIR)usr/local/share;$(DEST_DIR)usr/local/cmake + cmakeArgs: -B out2 -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$(LOCAL_PKG_DIR)/share;$(LOCAL_PKG_DIR)/cmake - task: CMake@1 displayName: CMake UVAtlas (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 eigen3 spectra + workingDirectory: $(Build.SourcesDirectory)/vcpkg + - task: CMake@1 + displayName: CMake UVAtlas (Config) dbg + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: -B out -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)" + - task: CMake@1 + displayName: CMake UVAtlas (Build) dbg + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: --build out -v + - task: CMake@1 + displayName: CMake UVAtlas (Config) rel + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: -B out2 -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)" + - task: CMake@1 + displayName: CMake UVAtlas (Build) rel + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: --build out2 -v + - task: CMake@1 + displayName: CMake UVAtlas (Config) w/ Eigen + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: -B out3 -DCMAKE_BUILD_TYPE=Debug -DENABLE_USE_EIGEN=ON -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)" + - task: CMake@1 + displayName: CMake UVAtlas (Build) w/ Eigen + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: --build out3 -v diff --git a/build/UVAtlas-GitHub-WSL.yml b/build/UVAtlas-GitHub-WSL.yml index 1e30407..1753e37 100644 --- a/build/UVAtlas-GitHub-WSL.yml +++ b/build/UVAtlas-GitHub-WSL.yml @@ -18,20 +18,23 @@ trigger: - main paths: exclude: - - README.md - - HISTORY.md - - SECURITY.md + - '*.md' - LICENSE + - '.nuget/*' + - build/*.mdb + - build/*.ps1 + pr: branches: include: - main paths: exclude: - - README.md - - HISTORY.md - - SECURITY.md + - '*.md' - LICENSE + - '.nuget/*' + - build/*.mdb + - build/*.ps1 drafts: false resources: @@ -46,8 +49,9 @@ pool: vmImage: ubuntu-20.04 variables: + VCPKG_CMAKE_DIR: '$(VCPKG_ROOT)/scripts/buildsystems/vcpkg.cmake' GITHUB_PAT: $(GITHUBPUBLICTOKEN) - DEST_DIR: $(DESTDIR) + LOCAL_PKG_DIR: '$(Agent.BuildDirectory)/install/' jobs: - job: BUILD_WSL @@ -66,7 +70,7 @@ jobs: displayName: CMake DirectX-Headers inputs: cwd: directx-headers - cmakeArgs: . -DDXHEADERS_BUILD_TEST=OFF -DDXHEADERS_BUILD_GOOGLE_TEST=OFF + 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: @@ -85,7 +89,7 @@ jobs: displayName: CMake DirectXMath inputs: cwd: directxmath - cmakeArgs: . + cmakeArgs: . -DCMAKE_INSTALL_PREFIX=$(LOCAL_PKG_DIR) - task: CMake@1 displayName: CMake DirectXMath (Build) inputs: @@ -102,8 +106,8 @@ jobs: targetType: inline script: | $ProgressPreference = 'SilentlyContinue' - Invoke-WebRequest -Uri https://raw.githubusercontent.com/dotnet/corert/master/src/Native/inc/unix/sal.h -OutFile $(DEST_DIR)usr/local/include/sal.h - $fileHash = Get-FileHash -Algorithm SHA512 $(DEST_DIR)usr/local/include/sal.h | ForEach { $_.Hash} | Out-String + 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") { @@ -114,7 +118,7 @@ jobs: displayName: CMake UVAtlas (Config) dbg inputs: cwd: '$(Build.SourcesDirectory)' - cmakeArgs: -B out -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=$(DEST_DIR)usr/local/share;$(DEST_DIR)usr/local/cmake + cmakeArgs: -B out -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=$(LOCAL_PKG_DIR)/share;$(LOCAL_PKG_DIR)/cmake - task: CMake@1 displayName: CMake UVAtlas (Build) dbg inputs: @@ -124,9 +128,71 @@ jobs: displayName: CMake UVAtlas (Config) rel inputs: cwd: '$(Build.SourcesDirectory)' - cmakeArgs: -B out2 -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$(DEST_DIR)usr/local/share;$(DEST_DIR)usr/local/cmake + cmakeArgs: -B out2 -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$(LOCAL_PKG_DIR)/share;$(LOCAL_PKG_DIR)/cmake - task: CMake@1 displayName: CMake UVAtlas (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 eigen3 spectra + workingDirectory: $(Build.SourcesDirectory)/vcpkg + - task: CMake@1 + displayName: CMake UVAtlas (Config) dbg + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: -B out -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)" + - task: CMake@1 + displayName: CMake UVAtlas (Build) dbg + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: --build out -v + - task: CMake@1 + displayName: CMake UVAtlas (Config) rel + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: -B out2 -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)" + - task: CMake@1 + displayName: CMake UVAtlas (Build) rel + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: --build out2 -v + - task: CMake@1 + displayName: CMake UVAtlas (Config) w/ Eigen + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: -B out3 -DCMAKE_BUILD_TYPE=Debug -DENABLE_USE_EIGEN=ON -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)" + - task: CMake@1 + displayName: CMake UVAtlas (Build) w/ Eigen + inputs: + cwd: '$(Build.SourcesDirectory)' + cmakeArgs: --build out3 -v diff --git a/build/UVAtlas-GitHub.yml b/build/UVAtlas-GitHub.yml index 1651b38..632910e 100644 --- a/build/UVAtlas-GitHub.yml +++ b/build/UVAtlas-GitHub.yml @@ -18,20 +18,29 @@ trigger: - main paths: exclude: - - README.md - - HISTORY.md - - SECURITY.md + - '*.md' - LICENSE + - CMake* + - '.nuget/*' + - build/*.cmake + - build/*.in + - build/*.mdb + - build/*.ps1 + pr: branches: include: - main paths: exclude: - - README.md - - HISTORY.md - - SECURITY.md + - '*.md' - LICENSE + - CMake* + - '.nuget/*' + - build/*.cmake + - build/*.in + - build/*.mdb + - build/*.ps1 drafts: false resources: