Merge pull request #1111 from jwillemsen/jwi-githubactions-macosx
[ACE_TAO.git] / azure-pipelines.yml
blobddb7e953ffa3188865284a7fb3110cfe6b286216
1 variables:
2    ACE_ROOT: $(Build.SourcesDirectory)/ACE
3    TAO_ROOT: $(Build.SourcesDirectory)/TAO
4    MPC_ROOT: $(Build.SourcesDirectory)/ACE/MPC
5    system.prefergit: true
7 schedules:
8 - cron: "0 7 * * SUN"
9   displayName: Weekly Sunday
10   branches:
11     include:
12     - master
13   always: true
15 resources:
16 - repo: self
17   fetchDepth: 1
19 jobs:
20 - job: VisualStudio2019
21   timeoutInMinutes: 120
22   pool:
23     vmImage: windows-2019
24   strategy:
25     matrix:
26       WChar:
27         BuildPlatform: x64
28         BuildConfiguration: Debug
29         vcpkgarch: x64-windows
30         vcpkglibdir: debug\lib
31         vcpkgpackages: 'openssl xerces-c[xmlch_wchar]'
32         OptionalFeatures: uses_wchar=1
33       Debug64:
34         BuildPlatform: x64
35         BuildConfiguration: Debug
36         vcpkgarch: x64-windows
37         vcpkglibdir: debug\lib
38         vcpkgpackages: openssl xerces-c
39       Release64:
40         BuildPlatform: x64
41         BuildConfiguration: Release
42         vcpkgarch: x64-windows
43         vcpkglibdir: lib
44         vcpkgpackages: openssl xerces-c
45       Debug32:
46         BuildPlatform: Win32
47         BuildConfiguration: Debug
48         vcpkgarch: x86-windows
49         vcpkglibdir: debug\lib
50         vcpkgpackages: openssl xerces-c
51       Release32:
52         BuildPlatform: Win32
53         BuildConfiguration: Release
54         vcpkgarch: x86-windows
55         vcpkglibdir: lib
56         vcpkgpackages: openssl xerces-c
57   variables:
58     VCPKG_ROOT: $(Build.SourcesDirectory)\vcpkg
59     XERCESC_INCDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\include
60     XERCESC_LIBDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\$(vcpkglibdir)
61     SSL_INCDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\include
62     SSL_LIBDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\$(vcpkglibdir)
63   steps:
64   - powershell: |
65       git clone -q --depth 1 git://github.com/Microsoft/vcpkg.git $(VCPKG_ROOT)
66       $(VCPKG_ROOT)\bootstrap-vcpkg.bat
67       $(VCPKG_ROOT)\vcpkg install --recurse --triplet $(vcpkgarch) $(vcpkgpackages)
68     displayName: Install additional packages using vcpkg
69   - powershell: |
70       '#include "ace/config-win32.h"' > $(ACE_ROOT)/ace/config.h
71     displayName: Create config.h file
72   - powershell: |
73       echo "xerces3=1" | out-file -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
74       echo "ssl=1" | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
75       echo "openssl11=1" | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
76       echo "versioned_namespace=1" | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
77     displayName: Create default.features file
78   - powershell: |
79       echo $(OptionalFeatures) | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
80     displayName: Add optional features ($(OptionalFeatures))
81     condition: and(succeeded(), ne(variables['OptionalFeatures'], ''))
82   - powershell: git clone -q --depth 1 git://github.com/DOCGroup/MPC.git $(MPC_ROOT)
83     displayName: git clone MPC
84   - powershell: perl $(ACE_ROOT)/bin/mwc.pl -type vs2019 $(TAO_ROOT)/TAO_ACE.mwc -workers 4
85     displayName: Run script mwc.pl on $(TAO_ROOT)/TAO_ACE.mwc
86   - powershell: perl $(ACE_ROOT)/bin/mwc.pl -type vs2019 $(ACE_ROOT)/tests/tests.mwc -workers 4
87     displayName: Run script mwc.pl on $(ACE_ROOT)/tests/tests.mwc
88   - task: VSBuild@1
89     displayName: Build solution TAO/TAO_ACE.sln
90     inputs:
91       solution: TAO/TAO_ACE.sln
92       platform: $(BuildPlatform)
93       configuration: $(BuildConfiguration)
94       maximumCpuCount: true
95   - task: VSBuild@1
96     displayName: Build solution ACE/tests/tests.sln
97     inputs:
98       solution: ACE/tests/tests.sln
99       platform: $(BuildPlatform)
100       configuration: $(BuildConfiguration)
101       maximumCpuCount: true
103 - job: VisualStudio2017
104   timeoutInMinutes: 120
105   pool:
106     vmImage: vs2017-win2016
107   strategy:
108     matrix:
109       WChar:
110         BuildPlatform: x64
111         BuildConfiguration: Debug
112         vcpkgarch: x64-windows
113         vcpkglibdir: debug\lib
114         vcpkgpackages: 'openssl xerces-c[xmlch_wchar]'
115         OptionalFeatures: uses_wchar=1
116       Debug64:
117         BuildPlatform: x64
118         BuildConfiguration: Debug
119         vcpkgarch: x64-windows
120         vcpkglibdir: debug\lib
121         vcpkgpackages: openssl xerces-c
122       Release64:
123         BuildPlatform: x64
124         BuildConfiguration: Release
125         vcpkgarch: x64-windows
126         vcpkglibdir: lib
127         vcpkgpackages: openssl xerces-c
128   variables:
129     VCPKG_ROOT: $(Build.SourcesDirectory)\vcpkg
130     XERCESC_INCDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\include
131     XERCESC_LIBDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\$(vcpkglibdir)
132     SSL_INCDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\include
133     SSL_LIBDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\$(vcpkglibdir)
134   steps:
135   - powershell: |
136       git clone --depth 1 git://github.com/Microsoft/vcpkg.git $(VCPKG_ROOT)
137       $(VCPKG_ROOT)\bootstrap-vcpkg.bat
138       $(VCPKG_ROOT)\vcpkg install --recurse --triplet $(vcpkgarch) $(vcpkgpackages)
139     displayName: Install additional packages using vcpkg
140   - powershell: |
141       '#include "ace/config-win32.h"' > $(ACE_ROOT)/ace/config.h
142     displayName: Create config.h file
143   - powershell: |
144       echo "xerces3=1" | out-file -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
145       echo "ssl=1" | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
146       echo "openssl11=1" | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
147       echo "versioned_namespace=1" | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
148       echo "ipv6=1" | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
149     displayName: Create default.features file
150   - powershell: |
151       echo $(OptionalFeatures) | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
152     displayName: Add optional features ($(OptionalFeatures))
153     condition: and(succeeded(), ne(variables['OptionalFeatures'], ''))
154   - powershell: git clone --depth 1 git://github.com/DOCGroup/MPC.git $(MPC_ROOT)
155     displayName: git clone MPC
156   - powershell: perl $(ACE_ROOT)/bin/mwc.pl -type vs2017 $(TAO_ROOT)/TAO_ACE.mwc -workers 4
157     displayName: Run script mwc.pl on $(TAO_ROOT)/TAO_ACE.mwc
158   - powershell: perl $(ACE_ROOT)/bin/mwc.pl -type vs2017 $(ACE_ROOT)/tests/tests.mwc -workers 4
159     displayName: Run script mwc.pl on $(ACE_ROOT)/tests/tests.mwc
160   - task: VSBuild@1
161     displayName: Build solution TAO/TAO_ACE.sln
162     inputs:
163       solution: TAO/TAO_ACE.sln
164       platform: $(BuildPlatform)
165       configuration: $(BuildConfiguration)
166       maximumCpuCount: true
167   - task: VSBuild@1
168     displayName: Build solution ACE/tests/tests.sln
169     inputs:
170       solution: ACE/tests/tests.sln
171       platform: $(BuildPlatform)
172       configuration: $(BuildConfiguration)
173       maximumCpuCount: true