/
vs2019-hosted-advanced-cache-vcpkg_submod.yml
51 lines (48 loc) · 2.04 KB
/
vs2019-hosted-advanced-cache-vcpkg_submod.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Copyright (c) 2019-2020-2021-2022 Luca Cappa
# Released under the term specified in file LICENSE.txt
# SPDX short identifier: MIT
pool:
vmImage: windows-2019
variables:
system.debug: true
# Since vcpkg is a Git submodule, its commit id is stored at /.git/modules/vcpkg/HEAD.
# vcpkgGitCommitId: not needed !
steps:
- checkout: self
submodules: recursive
- task: Cache@2
displayName: Cache vcpkg
inputs:
key: $(Build.SourcesDirectory)/cmakesettingsjson/vcpkg_x64-windows.txt | $(Build.SourcesDirectory)/.git/modules/vcpkg/HEAD | "$(Agent.OS)"
path: '$(Build.SourcesDirectory)/vcpkg'
- task: lucappa.cmake-ninja-vcpkg-tasks.d855c326-b1c0-4d6f-b1c7-440ade6835fb.run-vcpkg@0
displayName: 'Run vcpkg'
inputs:
vcpkgArguments: '@$(Build.SourcesDirectory)/cmakesettingsjson/vcpkg_x64-windows.txt'
vcpkgDirectory: '$(Build.SourcesDirectory)/vcpkg'
- task: PowerShell@2
inputs:
targetType: inline
script: env
- task: lucappa.cmake-ninja-vcpkg-tasks.f2b1ec7d-bc54-4cc8-b9ed-1bc7f37c9dc6.run-cmake@0
displayName: 'CMake+Ninja'
inputs:
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced
cmakeListsTxtPath: '$(Build.SourcesDirectory)/cmakesettingsjson/CMakeLists.txt'
useVcpkgToolchainFile: true
buildDirectory: '$(Build.BinariesDirectory)/ninja'
cmakeAppendedArgs: '-G Ninja '
- task: lucappa.cmake-ninja-vcpkg-tasks.f2b1ec7d-bc54-4cc8-b9ed-1bc7f37c9dc6.run-cmake@0
displayName: 'CMake+VS15'
inputs:
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced
cmakeListsTxtPath: '$(Build.SourcesDirectory)/cmakesettingsjson/CMakeLists.txt'
useVcpkgToolchainFile: true
buildDirectory: '$(Build.BinariesDirectory)/vs16'
- task: lucappa.cmake-ninja-vcpkg-tasks.f2b1ec7d-bc54-4cc8-b9ed-1bc7f37c9dc6.run-cmake@0
displayName: 'CMakeSettings.json'
inputs:
cmakeListsOrSettingsJson: CMakeSettingsJson
cmakeSettingsJsonPath: 'cmakesettingsjson/CMakeSettings.json'
useVcpkgToolchainFile: true
configurationRegexFilter: 'x64-Release'