-
Notifications
You must be signed in to change notification settings - Fork 1
/
azure-pipelines.yml
143 lines (127 loc) · 4.41 KB
/
azure-pipelines.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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
trigger:
branches:
include:
- master
- develop
- refs/tags/v*
- release/*
- feature/*
- hotfix/*
stages:
- stage: build
displayName: Build
jobs:
- job: windows
displayName: Windows
strategy:
matrix:
2019 x86_64 Shared Release:
VM_IMAGE: 'windows-2019'
GENERATOR: Visual Studio 16 2019
GENERATOR_ARCH: x64
BUILD_ARCH: x64
BUILD_CONFIG: MinSizeRel
BUILD_SHARED: ON
2019 x86_64 Static Release:
VM_IMAGE: 'windows-2019'
GENERATOR: Visual Studio 16 2019
GENERATOR_ARCH: x64
BUILD_ARCH: x64
BUILD_CONFIG: MinSizeRel
BUILD_SHARED: OFF
2019 x86 Shared Release:
VM_IMAGE: 'windows-2019'
GENERATOR: Visual Studio 16 2019
GENERATOR_ARCH: Win32
BUILD_ARCH: x86
BUILD_CONFIG: MinSizeRel
BUILD_SHARED: ON
2019 x86 Static Release:
VM_IMAGE: 'windows-2019'
GENERATOR: Visual Studio 16 2019
GENERATOR_ARCH: Win32
BUILD_ARCH: x86
BUILD_CONFIG: MinSizeRel
BUILD_SHARED: OFF
pool:
vmImage: $(VM_IMAGE)
steps:
- checkout: self
- task: CMake@1
displayName: Configure
inputs:
cmakeArgs: -G "$(GENERATOR)" -A $(GENERATOR_ARCH) -S $(Build.SourcesDirectory) -B . -DCMAKE_BUILD_TYPE=$(BUILD_CONFIG)
-DCRN_BUILD_EXAMPLES=ON -DCRN_BUILD_SHARED_LIBS=$(BUILD_SHARED) -DCMAKE_INSTALL_PREFIX=$(Build.ArtifactStagingDirectory)
- task: CMake@1
displayName: Build
inputs:
cmakeArgs: --build . --config $(BUILD_CONFIG)
- task: CMake@1
displayName: Install
inputs:
cmakeArgs: --install . --config $(BUILD_CONFIG)
- publish: $(Build.ArtifactStagingDirectory)
artifact: $(System.JobDisplayName)
- job: linux
displayName: Linux
strategy:
matrix:
x86_64 Shared Release:
ARCH: x64
BUILD_CONFIG: MinSizeRel
BUILD_SHARED: ON
x86_64 Static Release:
ARCH: x64
BUILD_CONFIG: MinSizeRel
BUILD_SHARED: OFF
pool:
vmImage: 'ubuntu-latest'
steps:
- checkout: self
- bash: sudo apt-get update -yqq && sudo apt install -y ninja-build
displayName: Install Ninja
- task: CMake@1
displayName: Configure
inputs:
cmakeArgs: -G Ninja -S $(Build.SourcesDirectory) -B . -DCMAKE_BUILD_TYPE=$(BUILD_CONFIG) -DCRN_BUILD_EXAMPLES=OFF
-DCRN_BUILD_SHARED_LIBS=$(BUILD_SHARED) -DCMAKE_INSTALL_PREFIX=$(Build.ArtifactStagingDirectory)
- task: CMake@1
displayName: Build
inputs:
cmakeArgs: --build . --config $(BUILD_CONFIG)
- task: CMake@1
displayName: Install
inputs:
cmakeArgs: --install . --config $(BUILD_CONFIG)
- publish: $(Build.ArtifactStagingDirectory)
artifact: $(System.JobDisplayName)
- job: macos
displayName: macOS
strategy:
matrix:
x86_64 Shared Release:
ARCH: x64
BUILD_CONFIG: MinSizeRel
BUILD_SHARED: ON
x86_64 Static Release:
ARCH: x64
BUILD_CONFIG: MinSizeRel
BUILD_SHARED: OFF
pool:
vmImage: 'macOS-latest'
steps:
- task: CMake@1
displayName: Configure
inputs:
cmakeArgs: -G Xcode -S $(Build.SourcesDirectory) -B . -DCMAKE_BUILD_TYPE=$(BUILD_CONFIG) -DCRN_BUILD_EXAMPLES=OFF
-DCRN_BUILD_SHARED_LIBS=$(BUILD_SHARED) -DCMAKE_INSTALL_PREFIX=$(Build.ArtifactStagingDirectory)
- task: CMake@1
displayName: Build
inputs:
cmakeArgs: --build . --config $(BUILD_CONFIG)
- task: CMake@1
displayName: Install
inputs:
cmakeArgs: --install . --config $(BUILD_CONFIG)
- publish: $(Build.ArtifactStagingDirectory)
artifact: $(System.JobDisplayName)