Skip to content

Commit a4658dc

Browse files
authored
Merge pull request DOCGroup#92 from jwillemsen/jwi-cibuild
New azure pipeline file for MPC, we compile the ATCD core which at le…
2 parents b26af7b + 0cf01a3 commit a4658dc

File tree

1 file changed

+299
-0
lines changed

1 file changed

+299
-0
lines changed

azure-pipelines.yml

Lines changed: 299 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,299 @@
1+
variables:
2+
DOC_ROOT: $(Build.SourcesDirectory)/ACE_TAO
3+
ACE_ROOT: $(DOC_ROOT)/ACE
4+
MPC_ROOT: $(Build.SourcesDirectory)
5+
TAO_ROOT: $(DOC_ROOT)/TAO
6+
CIAO_ROOT: $(DOC_ROOT)/CIAO
7+
DAnCE_ROOT: $(Build.SourcesDirectory)/DAnCE
8+
DDS_ROOT: $(Build.SourcesDirectory)/DDS
9+
system.prefergit: true
10+
11+
schedules:
12+
- cron: "0 7 * * SUN"
13+
displayName: Weekly Sunday
14+
branches:
15+
include:
16+
- master
17+
always: true
18+
19+
resources:
20+
- repo: self
21+
fetchDepth: 1
22+
23+
jobs:
24+
- job: VisualStudio2019
25+
timeoutInMinutes: 90
26+
pool:
27+
vmImage: windows-2019
28+
strategy:
29+
matrix:
30+
Debug64:
31+
BuildPlatform: x64
32+
BuildConfiguration: Debug
33+
vcpkgarch: x64-windows
34+
vcpkglibdir: debug\lib
35+
vcpkgpackages: openssl xerces-c
36+
Release64:
37+
BuildPlatform: x64
38+
BuildConfiguration: Release
39+
vcpkgarch: x64-windows
40+
vcpkglibdir: lib
41+
vcpkgpackages: openssl xerces-c
42+
Debug32:
43+
BuildPlatform: Win32
44+
BuildConfiguration: Debug
45+
vcpkgarch: x86-windows
46+
vcpkglibdir: debug\lib
47+
vcpkgpackages: openssl xerces-c
48+
Release32:
49+
BuildPlatform: Win32
50+
BuildConfiguration: Release
51+
vcpkgarch: x86-windows
52+
vcpkglibdir: lib
53+
vcpkgpackages: openssl xerces-c
54+
variables:
55+
VCPKG_ROOT: $(Build.SourcesDirectory)\vcpkg
56+
XERCESC_INCDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\include
57+
XERCESC_LIBDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\$(vcpkglibdir)
58+
SSL_INCDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\include
59+
SSL_LIBDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\$(vcpkglibdir)
60+
steps:
61+
- powershell: |
62+
git clone -q --depth 1 git://github.com/Microsoft/vcpkg.git $(VCPKG_ROOT)
63+
$(VCPKG_ROOT)\bootstrap-vcpkg.bat
64+
$(VCPKG_ROOT)\vcpkg install --recurse --triplet $(vcpkgarch) $(vcpkgpackages)
65+
displayName: Install additional packages using vcpkg
66+
- powershell: |
67+
git clone -q --depth 1 git://github.com/DOCGroup/ACE_TAO.git $(Build.SourcesDirectory)/ACE_TAO
68+
git clone -q --depth 1 git://github.com/DOCGroup/DAnCE.git $(DAnCE_ROOT)
69+
git clone -q --depth 1 git://github.com/DOCGroup/CIAO.git $(CIAO_ROOT)
70+
displayName: git clone dependent repositories
71+
- powershell: |
72+
'#include "ace/config-win32.h"' > $(ACE_ROOT)\ace\config.h
73+
displayName: Create config.h file
74+
- powershell: |
75+
echo "xerces3=1" | out-file -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
76+
echo "ssl=1" | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
77+
displayName: Create default.features file
78+
- powershell: perl $(ACE_ROOT)/bin/mwc.pl -type vs2019 CIAO_TAO_DAnCE.mwc -workers 4
79+
displayName: Run script mwc.pl on CIAO_TAO_DAnCE.mwc
80+
- task: VSBuild@1
81+
displayName: Build solution CIAO_TAO_DAnCE.sln
82+
inputs:
83+
solution: CIAO_TAO_DAnCE.sln
84+
platform: $(BuildPlatform)
85+
configuration: $(BuildConfiguration)
86+
maximumCpuCount: true
87+
88+
- job: VisualStudio2017
89+
timeoutInMinutes: 90
90+
pool:
91+
vmImage: vs2017-win2016
92+
strategy:
93+
matrix:
94+
Debug64:
95+
BuildPlatform: x64
96+
BuildConfiguration: Debug
97+
vcpkgarch: x64-windows
98+
vcpkglibdir: debug\lib
99+
vcpkgpackages: openssl xerces-c
100+
Release64:
101+
BuildPlatform: x64
102+
BuildConfiguration: Release
103+
vcpkgarch: x64-windows
104+
vcpkglibdir: lib
105+
vcpkgpackages: openssl xerces-c
106+
variables:
107+
VCPKG_ROOT: $(Build.SourcesDirectory)\vcpkg
108+
XERCESC_INCDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\include
109+
XERCESC_LIBDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\$(vcpkglibdir)
110+
SSL_INCDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\include
111+
SSL_LIBDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\$(vcpkglibdir)
112+
steps:
113+
- powershell: |
114+
git clone -q --depth 1 git://github.com/Microsoft/vcpkg.git $(VCPKG_ROOT)
115+
$(VCPKG_ROOT)\bootstrap-vcpkg.bat
116+
$(VCPKG_ROOT)\vcpkg install --recurse --triplet $(vcpkgarch) $(vcpkgpackages)
117+
displayName: Install additional packages using vcpkg
118+
- powershell: |
119+
git clone -q --depth 1 git://github.com/DOCGroup/ACE_TAO.git $(Build.SourcesDirectory)/ACE_TAO
120+
git clone -q --depth 1 git://github.com/DOCGroup/DAnCE.git $(DAnCE_ROOT)
121+
git clone -q --depth 1 git://github.com/DOCGroup/CIAO.git $(CIAO_ROOT)
122+
displayName: git clone dependent repositories
123+
- powershell: |
124+
'#include "ace/config-win32.h"' > $(ACE_ROOT)\ace\config.h
125+
displayName: Create config.h file
126+
- powershell: |
127+
echo "xerces3=1" | out-file -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
128+
echo "ssl=1" | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
129+
displayName: Create default.features file
130+
- powershell: perl $(ACE_ROOT)/bin/mwc.pl -type vs2017 CIAO_TAO_DAnCE.mwc -workers 4
131+
displayName: Run script mwc.pl on CIAO_TAO_DAnCE.mwc
132+
- task: VSBuild@1
133+
displayName: Build solution CIAO_TAO_DAnCE.sln
134+
inputs:
135+
solution: CIAO_TAO_DAnCE.sln
136+
platform: $(BuildPlatform)
137+
configuration: $(BuildConfiguration)
138+
maximumCpuCount: true
139+
140+
- job: VisualStudio2015
141+
timeoutInMinutes: 90
142+
pool:
143+
vmImage: vs2015-win2012r2
144+
strategy:
145+
matrix:
146+
Debug64:
147+
BuildPlatform: x64
148+
BuildConfiguration: Debug
149+
vcpkgarch: x64-windows
150+
vcpkglibdir: debug\lib
151+
Release64:
152+
BuildPlatform: x64
153+
BuildConfiguration: Release
154+
vcpkgarch: x64-windows
155+
vcpkglibdir: lib
156+
variables:
157+
VCPKG_ROOT: $(Build.SourcesDirectory)\vcpkg
158+
XERCESCROOT: $(Build.SourcesDirectory)\vcpkg\packages\xerces-c_$(vcpkgarch)
159+
SSL_ROOT: $(Build.SourcesDirectory)\vcpkg\packages\openssl-windows_$(vcpkgarch)
160+
SSL_LIBDIR: $(SSL_ROOT)\$(vcpkglibdir)
161+
XERCESC_LIBDIR: $(XERCESCROOT)\$(vcpkglibdir)
162+
steps:
163+
- powershell: |
164+
git clone --depth 1 git://github.com/Microsoft/vcpkg.git $(VCPKG_ROOT)
165+
$(VCPKG_ROOT)\bootstrap-vcpkg.bat
166+
$(VCPKG_ROOT)\vcpkg.exe install --recurse --triplet $(vcpkgarch) openssl xerces-c
167+
displayName: vcpkg
168+
- powershell: |
169+
git clone -q --depth 1 git://github.com/DOCGroup/ACE_TAO.git $(Build.SourcesDirectory)/ACE_TAO
170+
git clone -q --depth 1 git://github.com/DOCGroup/DAnCE.git $(DAnCE_ROOT)
171+
git clone -q --depth 1 git://github.com/DOCGroup/CIAO.git $(CIAO_ROOT)
172+
displayName: git clone dependent repositories
173+
- powershell: |
174+
'#include "ace/config-win32.h"' > $(ACE_ROOT)\ace\config.h
175+
displayName: Create config.h file
176+
- powershell: |
177+
echo "xerces3=1" | out-file -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
178+
echo "ssl=1" | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
179+
displayName: Create default.features file
180+
- powershell: perl $(ACE_ROOT)/bin/mwc.pl -type vc14 CIAO_TAO_DAnCE.mwc -workers 4
181+
displayName: Run script mwc.pl on CIAO_TAO_DAnCE.mwc
182+
- task: VSBuild@1
183+
displayName: Build solution CIAO_TAO_DAnCE.sln
184+
inputs:
185+
solution: CIAO_TAO_DAnCE.sln
186+
platform: $(BuildPlatform)
187+
configuration: $(BuildConfiguration)
188+
maximumCpuCount: true
189+
190+
- job: Linux
191+
pool:
192+
vmImage: ubuntu-latest
193+
strategy:
194+
matrix:
195+
GCC48:
196+
CC: gcc-4.8
197+
CXX: g++-4.8
198+
PackageDeps: g++-4.8
199+
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
200+
GCC6:
201+
CC: gcc-6
202+
CXX: g++-6
203+
PackageDeps: g++-6
204+
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
205+
GCC7:
206+
CC: gcc-7
207+
CXX: g++-7
208+
PackageDeps: g++-7
209+
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
210+
GCC8:
211+
CC: gcc-8
212+
CXX: g++-8
213+
PackageDeps: g++-8
214+
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
215+
GCC9:
216+
CC: gcc-9
217+
CXX: g++-9
218+
PackageDeps: g++-9
219+
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
220+
CLANG5:
221+
CC: clang-5.0
222+
CXX: clang++-5.0
223+
PackageDeps: clang-5.0
224+
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
225+
CLANG6:
226+
CC: clang-6.0
227+
CXX: clang++-6.0
228+
PackageDeps: clang-6.0
229+
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
230+
CLANG7:
231+
CC: clang-7
232+
CXX: clang++-7
233+
PackageDeps: clang-7
234+
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
235+
CLANG8:
236+
CC: clang-8
237+
CXX: clang++-8
238+
PackageDeps: clang-8
239+
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
240+
CLANG9:
241+
CC: clang-9
242+
CXX: clang++-9
243+
PackageDeps: clang-9
244+
Repo: llvm-toolchain-$(lsb_release -cs)-9
245+
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
246+
steps:
247+
- script: |
248+
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
249+
sudo apt-add-repository "deb http://apt.llvm.org/$(lsb_release -cs)/ $(Repo) main"
250+
displayName: Add repository ($(Repo))
251+
condition: and(succeeded(), ne(variables['Repo'], ''))
252+
- script: |
253+
sudo apt-get --yes update
254+
sudo apt-get --yes install libxerces-c-dev libssl-dev $(PackageDeps)
255+
displayName: install system package dependencies ($(PackageDeps))
256+
- powershell: |
257+
git clone -q --depth 1 git://github.com/DOCGroup/ACE_TAO.git $(Build.SourcesDirectory)/ACE_TAO
258+
git clone -q --depth 1 git://github.com/DOCGroup/DAnCE.git $(DAnCE_ROOT)
259+
git clone -q --depth 1 git://github.com/DOCGroup/CIAO.git $(CIAO_ROOT)
260+
git clone -q --depth 1 git://github.com/objectcomputing/OpenDDS $(DDS_ROOT)
261+
- powershell: |
262+
'#include "ace/config-linux.h"' > $(ACE_ROOT)/ace/config.h
263+
displayName: Create config.h file
264+
- powershell: |
265+
'xerces3=1' > $(ACE_ROOT)/bin/MakeProjectCreator/config/default.features
266+
'dds4ccm_opendds=1' >> $(ACE_ROOT)/bin/MakeProjectCreator/config/default.features
267+
'dds_suppress_anys=0' >> $(ACE_ROOT)/bin/MakeProjectCreator/config/default.features
268+
'ssl=1' >> $(ACE_ROOT)/bin/MakeProjectCreator/config/default.features
269+
displayName: Create default.features file
270+
- powershell: |
271+
'c++11=1' > $(ACE_ROOT)/include/makeinclude/platform_macros.GNU
272+
'xerces3=1' >> $(ACE_ROOT)/include/makeinclude/platform_macros.GNU
273+
'ssl=1' >> $(ACE_ROOT)/include/makeinclude/platform_macros.GNU
274+
'dds4ccm_opendds=1' >> $(ACE_ROOT)/include/makeinclude/platform_macros.GNU
275+
"$(platform_file)" >> $(ACE_ROOT)/include/makeinclude/platform_macros.GNU
276+
displayName: Create platform_macros file
277+
- powershell: perl $(ACE_ROOT)/bin/mwc.pl -type gnuace CIAO_TAO_DAnCE_OpenDDS.mwc -workers 4
278+
displayName: Run mwc.pl on CIAO_TAO_DAnCE_OpenDDS.mwc
279+
- bash: make -j 6
280+
displayName: Build project
281+
282+
- job: MacOSX
283+
pool:
284+
vmImage: macOS-latest
285+
steps:
286+
- powershell: |
287+
git clone -q --depth 1 git://github.com/DOCGroup/ACE_TAO.git $(Build.SourcesDirectory)/ACE_TAO
288+
git clone -q --depth 1 git://github.com/DOCGroup/CIAO.git $(CIAO_ROOT)
289+
git clone -q --depth 1 git://github.com/DOCGroup/DAnCE.git $(DAnCE_ROOT)
290+
- powershell: |
291+
'#include "ace/config-macosx.h"' > $(ACE_ROOT)/ace/config.h
292+
displayName: Create config.h file
293+
- powershell: |
294+
'include $(ACE_ROOT)/include/makeinclude/platform_macosx.GNU' > $(ACE_ROOT)/include/makeinclude/platform_macros.GNU;
295+
displayName: Create platform_macros file
296+
- powershell: perl $(ACE_ROOT)/bin/mwc.pl -type gnuace CIAO_TAO_DAnCE.mwc -workers 4
297+
displayName: Run mwc.pl on CIAO_TAO_DAnCE.mwc
298+
- bash: make -j 6
299+
displayName: Build project

0 commit comments

Comments
 (0)