Skip to content

Commit 1fed03c

Browse files
committed
Added more build permutations.
Check both debug and release (except for Windows which can't be built in debug due to PVRTexTools lib only available with release runtime) and both shared and static libraries. Windows is built for both 32 and 64 bit. I have 10 parallel instances for free, and I'm using all of them!
1 parent 9bcbe40 commit 1fed03c

File tree

2 files changed

+66
-6
lines changed

2 files changed

+66
-6
lines changed

azure-pipelines.yml

Lines changed: 65 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,20 @@ jobs:
88
vmImage: ubuntu-16.04
99
workspace:
1010
clean: all
11+
strategy:
12+
matrix:
13+
debug:
14+
config: Debug
15+
lib.type: Static
16+
cmake.args: -DCUTTLEFISH_SHARED=OFF
17+
release_static:
18+
config: Release
19+
lib.type: Static
20+
cmake.args: -DCUTTLEFISH_SHARED=OFF
21+
release_shared:
22+
config: Release
23+
lib.type: Shared
24+
cmake.args: -DCUTTLEFISH_SHARED=ON
1125
steps:
1226
- script: |
1327
git submodule init
@@ -30,8 +44,8 @@ jobs:
3044
inputs:
3145
workingDirectory: $(Build.BinariesDirectory)
3246
cmakeArgs: >
33-
-DCMAKE_BUILD_TYPE=Debug -DCUTTLEFISH_FORCE_INTERNAL_FREEIMAGE=ON
34-
-DCMAKE_FIND_ROOT_PATH=$(dependency.location)
47+
-DCMAKE_BUILD_TYPE=$(config) -DCUTTLEFISH_FORCE_INTERNAL_FREEIMAGE=ON
48+
-DCMAKE_FIND_ROOT_PATH=$(dependency.location) $(cmake.args)
3549
$(Build.SourcesDirectory)
3650
displayName: Run CMake
3751
- task: CMake@1
@@ -44,18 +58,36 @@ jobs:
4458
workingDirectory: $(Build.BinariesDirectory)
4559
cmakeArgs: --build . --target test
4660
displayName: Run tests
61+
continueOnError: true
4762
timeoutInMinutes: 5
4863
- task: PublishTestResults@2
4964
inputs:
5065
testResultsFormat: JUnit
5166
testResultsFiles: '*.xml'
5267
searchFolder: $(Common.TestResultsDirectory)
68+
failTaskOnFailedTests: true
69+
testRunTitle: Linux-$(config)-$(lib.type)
70+
buildConfiguration: $(config)-$(lib.type)
5371
displayName: Publish test results
5472
- job: Mac
5573
pool:
5674
vmImage: macOS-10.13
5775
workspace:
5876
clean: all
77+
strategy:
78+
matrix:
79+
debug:
80+
config: Debug
81+
lib.type: Static
82+
cmake.args: -DCUTTLEFISH_SHARED=OFF
83+
release_static:
84+
config: Release
85+
lib.type: Static
86+
cmake.args: -DCUTTLEFISH_SHARED=OFF
87+
release_shared:
88+
config: Release
89+
lib.type: Shared
90+
cmake.args: -DCUTTLEFISH_SHARED=ON
5991
steps:
6092
- script: |
6193
git submodule init
@@ -92,18 +124,41 @@ jobs:
92124
workingDirectory: $(Build.BinariesDirectory)
93125
cmakeArgs: --build . --target test
94126
displayName: Run tests
127+
continueOnError: true
95128
timeoutInMinutes: 5
96129
- task: PublishTestResults@2
97130
inputs:
98131
testResultsFormat: JUnit
99132
testResultsFiles: '*.xml'
100133
searchFolder: $(Common.TestResultsDirectory)
134+
failTaskOnFailedTests: true
135+
testRunTitle: Mac-$(config)-$(lib.type)
136+
buildConfiguration: $(config)-$(lib.type)
101137
displayName: Publish test results
102138
- job: Windows
139+
# NOTE: No debug builds since PVRTexTool lib only provided for release runtime.
103140
pool:
104141
vmImage: vs2017-win2016
105142
workspace:
106143
clean: all
144+
strategy:
145+
matrix:
146+
win32_static:
147+
arch: Win32
148+
lib.type: Static
149+
cmake.args: -DCUTTLEFISH_SHARED=OFF
150+
win32_shared:
151+
arch: Win32
152+
lib.type: Shared
153+
cmake.args: -DCUTTLEFISH_SHARED=ON
154+
win64_static:
155+
arch: x64
156+
lib.type: Static
157+
cmake.args: -DCUTTLEFISH_SHARED=OFF
158+
win64_shared:
159+
arch: x64
160+
lib.type: Shared
161+
cmake.args: -DCUTTLEFISH_SHARED=ON
107162
steps:
108163
- bash: |
109164
git submodule init
@@ -118,7 +173,8 @@ jobs:
118173
displayName: Checkout gtest
119174
workingDirectory: $(Build.BinariesDirectory)
120175
- script: |
121-
cmake .. -DCMAKE_INSTALL_PREFIX=$(dependency.location) -Dgtest_force_shared_crt=ON
176+
cmake .. -DCMAKE_INSTALL_PREFIX=$(dependency.location) -Dgtest_force_shared_crt=ON ^
177+
-A $(arch)
122178
cmake --build . --config Release
123179
cmake --build . --config Release --target install
124180
displayName: Build gtest
@@ -128,26 +184,30 @@ jobs:
128184
workingDirectory: $(Build.BinariesDirectory)
129185
cmakeArgs: >
130186
-DCUTTLEFISH_FORCE_INTERNAL_FREEIMAGE=ON
131-
-DCMAKE_PREFIX_PATH=$(dependency.location)
187+
-DCMAKE_PREFIX_PATH=$(dependency.location) -A $(arch) $(cmake.args)
132188
$(Build.SourcesDirectory)
133189
displayName: Run CMake
134190
- task: CMake@1
135191
inputs:
136192
workingDirectory: $(Build.BinariesDirectory)
137-
# NOTE: Would prefer to do a debug build, but it conflicts with PVRTexTool lib.
138193
cmakeArgs: --build . --config Release
139194
displayName: Build
140195
- task: CMake@1
141196
inputs:
142197
workingDirectory: $(Build.BinariesDirectory)
143198
cmakeArgs: --build . --config Release --target run_tests
144199
displayName: Run tests
200+
continueOnError: true
145201
timeoutInMinutes: 5
146202
- task: PublishTestResults@2
147203
inputs:
148204
testResultsFormat: JUnit
149205
testResultsFiles: '*.xml'
150206
searchFolder: $(Common.TestResultsDirectory)
207+
failTaskOnFailedTests: true
208+
testRunTitle: Windows-$(arch)-$(lib.type)
209+
buildPlatform: $(arch)
210+
buildConfiguration: Release-$(lib.type)
151211
displayName: Publish test results
152212

153213
# vim: ts=4 sts=4 sw=4 et

lib/FreeImageSources.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# %s/ \.\//\${FREEIMAGE_DIR}\//g
33
# %s/\/Sources\//\${FREEIMAGE_DIR}\/Sources\//g
44
# Delete the "Wrapper" entries
5+
# Remove b44ExpLogTable.cpp (may need to check for other files with main function)
56
set(freeImageSources
67
${FREEIMAGE_DIR}/Source/FreeImage/BitmapAccess.cpp
78
${FREEIMAGE_DIR}/Source/FreeImage/ColorLookup.cpp
@@ -226,7 +227,6 @@ set(freeImageSources
226227
${FREEIMAGE_DIR}/Source/LibOpenJPEG/tcd.c
227228
${FREEIMAGE_DIR}/Source/LibOpenJPEG/tgt.c
228229
${FREEIMAGE_DIR}/Source/OpenEXR/IexMath/IexMathFpu.cpp
229-
${FREEIMAGE_DIR}/Source/OpenEXR/IlmImf/b44ExpLogTable.cpp
230230
${FREEIMAGE_DIR}/Source/OpenEXR/IlmImf/ImfAcesFile.cpp
231231
${FREEIMAGE_DIR}/Source/OpenEXR/IlmImf/ImfAttribute.cpp
232232
${FREEIMAGE_DIR}/Source/OpenEXR/IlmImf/ImfB44Compressor.cpp

0 commit comments

Comments
 (0)