3737 fail-fast : false
3838 matrix :
3939 config :
40- - {name: "macOS-latest", os: "macOS-latest", cmake_extra: "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 -DLSL_UNITTESTS=ON -DLSL_BENCHMARKS=ON" }
40+ - {name: "macOS-latest", os: "macOS-latest", cmake_extra: "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 -DLSL_UNITTESTS=ON -DLSL_BENCHMARKS=ON -DCMAKE_OSX_ARCHITECTURES=\"x86_64;arm64\" " }
4141 - {name: "iOS", os: "macOS-latest", cmake_extra: "-DCMAKE_TOOLCHAIN_FILE=cmake/ios.toolchain.cmake -DPLATFORM=OS64" }
42+ - {name: "iOS Simulator", os: "macOS-latest", cmake_extra: "-DCMAKE_TOOLCHAIN_FILE=cmake/ios.toolchain.cmake -DPLATFORM=SIMULATOR64COMBINED -G Xcode" }
4243
4344 steps :
4445 - uses : actions/checkout@v4
6061 -DCMAKE_BUILD_TYPE=Release \
6162 -DCMAKE_INSTALL_PREFIX=${PWD}/install \
6263 -DCPACK_PACKAGE_DIRECTORY=${PWD}/package \
63- -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" \
6464 -DLSL_FRAMEWORK=ON \
6565 -Dlslgitrevision=${{ github.sha }} \
6666 -Dlslgitbranch=${{ github.ref }} \
7575 run : cmake --build build --config Release --target install
7676
7777 - name : test install using examples
78- if : matrix.config.name != 'iOS '
78+ if : matrix.config.name == 'macOS-latest '
7979 run : |
8080 # Test that the in-tree install was successful by building the examples
8181 cmake -S examples -B examples/build \
9494 --entitlements lsl.entitlements --options runtime \
9595 install/Frameworks/lsl.framework/Versions/A/lsl
9696 codesign -vvv --verify --deep --strict install/Frameworks/lsl.framework/Versions/A/lsl
97- elif [[ "${{ matrix.config.name }}" == "iOS" ]]; then
97+ elif [[ "${{ matrix.config.name }}" == "iOS" || "${{ matrix.config.name }}" == "iOS Simulator" ]]; then
9898 codesign -vvv --force --deep --sign "$APPLE_CODE_SIGN_IDENTITY_APP" \
9999 install/Frameworks/lsl.framework/lsl
100100 codesign -vvv --verify --deep --strict install/Frameworks/lsl.framework/lsl
@@ -106,7 +106,7 @@ jobs:
106106
107107 # run internal tests
108108 - name : unit tests
109- if : matrix.config.name != 'iOS '
109+ if : matrix.config.name == 'macOS-latest '
110110 run : |
111111 mkdir -p dumps
112112 install/bin/lsl_test_internal --order rand --wait-for-keypress never --durations yes
@@ -159,7 +159,7 @@ jobs:
159159 path : |
160160 package/*.pkg
161161 install/Frameworks/lsl.framework.zip
162- # Note: the artifact will preserves the folder structure up to the common root, in this case all.
162+ # Note: the artifact will preserve the folder structure up to the common root, in this case all.
163163
164164 - name : Upload iOS Framework
165165 if : matrix.config.name == 'iOS'
@@ -169,6 +169,13 @@ jobs:
169169 path : install/Frameworks/lsl.framework.zip
170170 # Note: the artifact drops the folder structure and only keeps the zip.
171171
172+ - name : Upload iOS Simulator Framework
173+ if : matrix.config.name == 'iOS Simulator'
174+ uses : actions/upload-artifact@v4
175+ with :
176+ name : build-iOS-Simulator
177+ path : install/Frameworks/lsl.framework.zip
178+
172179 xcframework_and_deploy :
173180 name : XCFramework and Deploy
174181 needs : build
@@ -183,6 +190,10 @@ jobs:
183190 with :
184191 name : build-iOS
185192 path : build-iOS
193+ - uses : actions/download-artifact@v4
194+ with :
195+ name : build-iOS-Simulator
196+ path : build-iOS-Simulator
186197
187198 - name : Unzip macOS Framework
188199 run : |
@@ -192,6 +203,10 @@ jobs:
192203 run : |
193204 unzip build-iOS/lsl.framework.zip -d build-iOS/Frameworks
194205
206+ - name : Unzip iOS Simulator Framework
207+ run : |
208+ unzip build-iOS-Simulator/lsl.framework.zip -d build-iOS-Simulator/Frameworks
209+
195210 - name : Install certificates and provisioning profiles
196211 uses : ./.github/actions/install-apple-certs
197212 with :
@@ -205,6 +220,7 @@ jobs:
205220 xcodebuild -create-xcframework \
206221 -framework build-macOS-latest/Frameworks/lsl.framework \
207222 -framework build-iOS/Frameworks/lsl.framework \
223+ -framework build-iOS-Simulator/Frameworks/lsl.framework \
208224 -output lsl.xcframework
209225
210226 codesign -vvv --force --deep --sign "$APPLE_CODE_SIGN_IDENTITY_APP" lsl.xcframework
0 commit comments