3939 config :
4040 - {name: "macOS-latest", os: "macOS-latest", cmake_extra: "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 -DLSL_UNITTESTS=ON -DLSL_BENCHMARKS=ON" }
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" }
4243
4344 steps :
4445 - uses : actions/checkout@v4
7576 run : cmake --build build --config Release --target install
7677
7778 - name : test install using examples
78- if : matrix.config.name != 'iOS '
79+ if : matrix.config.name == 'macOS-latest '
7980 run : |
8081 # Test that the in-tree install was successful by building the examples
8182 cmake -S examples -B examples/build \
9495 --entitlements lsl.entitlements --options runtime \
9596 install/Frameworks/lsl.framework/Versions/A/lsl
9697 codesign -vvv --verify --deep --strict install/Frameworks/lsl.framework/Versions/A/lsl
97- elif [[ "${{ matrix.config.name }}" == "iOS" ]]; then
98+ elif [[ "${{ matrix.config.name }}" == "iOS" || "${{ matrix.config.name }}" == "iOS Simulator" ]]; then
9899 codesign -vvv --force --deep --sign "$APPLE_CODE_SIGN_IDENTITY_APP" \
99100 install/Frameworks/lsl.framework/lsl
100101 codesign -vvv --verify --deep --strict install/Frameworks/lsl.framework/lsl
@@ -106,7 +107,7 @@ jobs:
106107
107108 # run internal tests
108109 - name : unit tests
109- if : matrix.config.name != 'iOS '
110+ if : matrix.config.name == 'macOS-latest '
110111 run : |
111112 mkdir -p dumps
112113 install/bin/lsl_test_internal --order rand --wait-for-keypress never --durations yes
@@ -159,7 +160,7 @@ jobs:
159160 path : |
160161 package/*.pkg
161162 install/Frameworks/lsl.framework.zip
162- # Note: the artifact will preserves the folder structure up to the common root, in this case all.
163+ # Note: the artifact will preserve the folder structure up to the common root, in this case all.
163164
164165 - name : Upload iOS Framework
165166 if : matrix.config.name == 'iOS'
@@ -169,6 +170,13 @@ jobs:
169170 path : install/Frameworks/lsl.framework.zip
170171 # Note: the artifact drops the folder structure and only keeps the zip.
171172
173+ - name : Upload iOS Simulator Framework
174+ if : matrix.config.name == 'iOS Simulator'
175+ uses : actions/upload-artifact@v4
176+ with :
177+ name : build-iOS-Simulator
178+ path : install/Frameworks/lsl.framework.zip
179+
172180 xcframework_and_deploy :
173181 name : XCFramework and Deploy
174182 needs : build
@@ -183,6 +191,10 @@ jobs:
183191 with :
184192 name : build-iOS
185193 path : build-iOS
194+ - uses : actions/download-artifact@v4
195+ with :
196+ name : build-iOS-Simulator
197+ path : build-iOS-Simulator
186198
187199 - name : Unzip macOS Framework
188200 run : |
@@ -192,6 +204,10 @@ jobs:
192204 run : |
193205 unzip build-iOS/lsl.framework.zip -d build-iOS/Frameworks
194206
207+ - name : Unzip iOS Simulator Framework
208+ run : |
209+ unzip build-iOS-Simulator/lsl.framework.zip -d build-iOS-Simulator/Frameworks
210+
195211 - name : Install certificates and provisioning profiles
196212 uses : ./.github/actions/install-apple-certs
197213 with :
@@ -205,6 +221,7 @@ jobs:
205221 xcodebuild -create-xcframework \
206222 -framework build-macOS-latest/Frameworks/lsl.framework \
207223 -framework build-iOS/Frameworks/lsl.framework \
224+ -framework build-iOS-Simulator/Frameworks/lsl.framework \
208225 -output lsl.xcframework
209226
210227 codesign -vvv --force --deep --sign "$APPLE_CODE_SIGN_IDENTITY_APP" lsl.xcframework
0 commit comments