Merge pull request #1218 from jwillemsen/master
[ACE_TAO.git] / azure-pipelines.yml
blob24f2ceecd801a348884e8388e499e9671e8ab1ca
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: Windows
21   timeoutInMinutes: 120
22   strategy:
23     matrix:
24       VS2019WChar:
25         vmimage: windows-2019
26         mpctype: vs2019
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       VS2019Debug64:
34         vmimage: windows-2019
35         mpctype: vs2019
36         BuildPlatform: x64
37         BuildConfiguration: Debug
38         vcpkgarch: x64-windows
39         vcpkglibdir: debug\lib
40         vcpkgpackages: openssl xerces-c
41       VS2019Release64:
42         vmimage: windows-2019
43         mpctype: vs2019
44         BuildPlatform: x64
45         BuildConfiguration: Release
46         vcpkgarch: x64-windows
47         vcpkglibdir: lib
48         vcpkgpackages: openssl xerces-c
49       VS2019Debug32:
50         vmimage: windows-2019
51         mpctype: vs2019
52         BuildPlatform: Win32
53         BuildConfiguration: Debug
54         vcpkgarch: x86-windows
55         vcpkglibdir: debug\lib
56         vcpkgpackages: openssl xerces-c
57       VS2019Release32:
58         vmimage: windows-2019
59         mpctype: vs2019
60         BuildPlatform: Win32
61         BuildConfiguration: Release
62         vcpkgarch: x86-windows
63         vcpkglibdir: lib
64         vcpkgpackages: openssl xerces-c
65       VS2017WChar:
66         vmimage: vs2017-win2016
67         mpctype: vs2017
68         BuildPlatform: x64
69         BuildConfiguration: Debug
70         vcpkgarch: x64-windows
71         vcpkglibdir: debug\lib
72         vcpkgpackages: 'openssl xerces-c[xmlch-wchar]'
73         OptionalFeatures: uses_wchar=1
74       VS2017Debug64:
75         vmimage: vs2017-win2016
76         mpctype: vs2017
77         BuildPlatform: x64
78         BuildConfiguration: Debug
79         vcpkgarch: x64-windows
80         vcpkglibdir: debug\lib
81         vcpkgpackages: openssl xerces-c
82       VS2017Release64:
83         vmimage: vs2017-win2016
84         mpctype: vs2017
85         BuildPlatform: x64
86         BuildConfiguration: Release
87         vcpkgarch: x64-windows
88         vcpkglibdir: lib
89         vcpkgpackages: openssl xerces-c
90   pool:
91     vmImage: $(vmimage)
92   variables:
93     VCPKG_ROOT: $(Build.SourcesDirectory)\vcpkg
94     XERCESC_INCDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\include
95     XERCESC_LIBDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\$(vcpkglibdir)
96     SSL_INCDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\include
97     SSL_LIBDIR: $(VCPKG_ROOT)\installed\$(vcpkgarch)\$(vcpkglibdir)
98   steps:
99   - powershell: |
100       git clone -q --depth 1 git://github.com/Microsoft/vcpkg.git $(VCPKG_ROOT)
101       $(VCPKG_ROOT)\bootstrap-vcpkg.bat
102       $(VCPKG_ROOT)\vcpkg install --recurse --triplet $(vcpkgarch) $(vcpkgpackages)
103     displayName: Install additional packages using vcpkg
104   - powershell: |
105       '#include "ace/config-win32.h"' > $(ACE_ROOT)/ace/config.h
106     displayName: Create config.h file
107   - powershell: |
108       echo "ipv6=1" | out-file -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
109       echo "xerces3=1" | out-file -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
110       echo "ssl=1" | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
111       echo "openssl11=1" | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
112       echo "versioned_namespace=1" | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
113     displayName: Create default.features file
114   - powershell: |
115       echo $(OptionalFeatures) | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
116     displayName: Add optional features ($(OptionalFeatures))
117     condition: and(succeeded(), ne(variables['OptionalFeatures'], ''))
118   - powershell: git clone -q --depth 1 git://github.com/DOCGroup/MPC.git $(MPC_ROOT)
119     displayName: git clone MPC
120   - powershell: perl $(ACE_ROOT)/bin/mwc.pl -type $(mpctype) $(TAO_ROOT)/TAO_ACE.mwc -workers 4
121     displayName: Run script mwc.pl on $(TAO_ROOT)/TAO_ACE.mwc
122   - powershell: perl $(ACE_ROOT)/bin/mwc.pl -type $(mpctype) $(ACE_ROOT)/tests/tests.mwc -workers 4
123     displayName: Run script mwc.pl on $(ACE_ROOT)/tests/tests.mwc
124   - task: VSBuild@1
125     displayName: Build solution TAO/TAO_ACE.sln
126     inputs:
127       solution: TAO/TAO_ACE.sln
128       platform: $(BuildPlatform)
129       configuration: $(BuildConfiguration)
130       maximumCpuCount: true
131   - task: VSBuild@1
132     displayName: Build solution ACE/tests/tests.sln
133     inputs:
134       solution: ACE/tests/tests.sln
135       platform: $(BuildPlatform)
136       configuration: $(BuildConfiguration)
137       maximumCpuCount: true