Skip to content

Commit 588f6e3

Browse files
committed
Architecture fixes, added CI workflows
1 parent 8cecab5 commit 588f6e3

File tree

4 files changed

+53
-19
lines changed

4 files changed

+53
-19
lines changed

.github/workflows/combined.yml

+17-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
pull_request:
77
types: [ opened, synchronize ]
88

9-
jobs:
9+
jobs:
1010
build_with_latest_OS64COMBINED:
1111
name: "Latest Xcode, Target iOS Combined [x86_64, arm64] Target SDK 14.0"
1212
runs-on: macos-latest
@@ -37,6 +37,21 @@ jobs:
3737
xcode-version: '15.0.1'
3838
- name: Build
3939
run: ./.github/build.sh
40+
build_with_15_0_1_SIMULATOR_WATCHOSCOMBINED:
41+
name: "Xcode version 15.0.1, Target watchOS Simulator Combined [arm64, x86_64] Target SDK 10.0"
42+
runs-on: macos-13
43+
env:
44+
PLATFORM: SIMULATOR_WATCHOSCOMBINED
45+
USE_NEW_BUILD: 1
46+
DEPLOYMENT_TARGET: 10.0
47+
USE_XCODE: 1
48+
steps:
49+
- uses: actions/checkout@v2
50+
- uses: maxim-lobanov/setup-xcode@v1
51+
with:
52+
xcode-version: '15.0.1'
53+
- name: Build
54+
run: ./.github/build.sh
4055
build_with_15_0_1_TVOSCOMBINED:
4156
name: "Xcode version 15.0.1, Target tvOS Combined [arm64, x86_64] Target SDK 16.0"
4257
runs-on: macos-13
@@ -66,4 +81,4 @@ jobs:
6681
with:
6782
xcode-version: '15.0.1'
6883
- name: Build
69-
run: ./.github/build.sh
84+
run: ./.github/build.sh

.github/workflows/watchos.yml

+16-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88

99
jobs:
1010
build_with_15_4_WATCHOS:
11-
name: "Xcode version 15.4, Target tvOS [armv7k, arm64_32] Target SDK 10.5"
11+
name: "Xcode version 15.4, Target watchOS [armv7k, arm64_32] Target SDK 10.5"
1212
runs-on: macos-14
1313
env:
1414
PLATFORM: WATCHOS
@@ -21,7 +21,7 @@ jobs:
2121
- name: Build
2222
run: ./.github/build.sh
2323
build_with_15_0_1_SIMULATOR_WATCHOS:
24-
name: "Xcode version 15.0.1, Target tvOS [x86_64] Target SDK 10.0"
24+
name: "Xcode version 15.0.1, Target watchOS Simulator [x86_64] Target SDK 10.0"
2525
runs-on: macos-13
2626
env:
2727
PLATFORM: SIMULATOR_WATCHOS
@@ -32,4 +32,17 @@ jobs:
3232
with:
3333
xcode-version: '15.0.1'
3434
- name: Build
35-
run: ./.github/build.sh
35+
run: ./.github/build.sh
36+
build_with_15_0_1_SIMULATORARM64_WATCHOS:
37+
name: "Xcode version 15.0.1, Target watchOS Simulator [arm64] Target SDK 10.0"
38+
runs-on: macos-13
39+
env:
40+
PLATFORM: SIMULATORARM64_WATCHOS
41+
DEPLOYMENT_TARGET: 10.0
42+
steps:
43+
- uses: actions/checkout@v2
44+
- uses: maxim-lobanov/setup-xcode@v1
45+
with:
46+
xcode-version: '15.0.1'
47+
- name: Build
48+
run: ./.github/build.sh

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ A CMake toolchain file for iOS (+ Catalyst), watchOS, tvOS and macOS development
2525
* _SIMULATOR_TVOS_ - to build for tvOS Simulator (x86_64)
2626
* _SIMULATORARM64_TVOS_ = to build for tvOS Simulator (arm64)
2727
* _WATCHOS_ - to build for watchOS (armv7k, arm64_32)
28-
* _WATCHOSCOMBINED_ - to build for watchOS & Simulator (armv7k, arm64_32, i386)
29-
* _SIMULATOR_WATCHOS_ - to build for watchOS Simulator (i386)
28+
* _WATCHOSCOMBINED_ - to build for watchOS & Simulator (armv7k, arm64_32, x86_64)
29+
* _SIMULATOR_WATCHOS_ - to build for watchOS Simulator (x86_64)
3030
* _SIMULATORARM64_WATCHOS_ = to build for watchOS Simulator (arm64)
31-
* _SIMULATOR_WATCHOSCOMBINED_ = to build for watchOS Simulator (FAT lib) (arm64, i386)
31+
* _SIMULATOR_WATCHOSCOMBINED_ = to build for watchOS Simulator (FAT lib) (arm64, x86_64)
3232
* _MAC_ - to build for macOS (x86_64)
3333
* _MAC_ARM64_ - to build for macOS on Apple Silicon (arm64)
3434
* _MAC_UNIVERSAL_ - to build for macOS on x86_64 and Apple Silicon (arm64) combined

ios.toolchain.cmake

+17-11
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
# WATCHOSCOMBINED = Build for armv7k arm64_32 x86_64 watchOS + watchOS Simulator. Combined into FAT STATIC lib (only supported on 3.14+ of CMake with "-G Xcode" argument in combination with the "cmake --install" CMake build step)
7575
# SIMULATOR_WATCHOS = Build for x86_64 for watchOS Simulator.
7676
# SIMULATORARM64_WATCHOS = Build for arm64 for watchOS Simulator.
77-
# SIMULATOR_WATCHOSCOMBINED = Build for arm64 for watchOS Simulator.
77+
# SIMULATOR_WATCHOSCOMBINED = Build for arm64 x86_64 for watchOS Simulator. Combined into FAT STATIC lib (supported on 3.14+ of CMakewith "-G Xcode" argument ONLY)
7878
# MAC = Build for x86_64 macOS.
7979
# MAC_ARM64 = Build for Apple Silicon macOS.
8080
# MAC_UNIVERSAL = Combined build for x86_64 and Apple Silicon on macOS.
@@ -462,12 +462,12 @@ elseif(PLATFORM_INT STREQUAL "WATCHOSCOMBINED")
462462
if(MODERN_CMAKE)
463463
if(NOT ARCHS)
464464
if (XCODE_VERSION_INT VERSION_GREATER 10.0)
465-
set(ARCHS armv7k arm64_32 i386)
466-
set(APPLE_TARGET_TRIPLE_INT arm64_32-i386-apple-watchos${DEPLOYMENT_TARGET})
465+
set(ARCHS armv7k arm64_32 x86_64)
466+
set(APPLE_TARGET_TRIPLE_INT arm64_32-x86_64-apple-watchos${DEPLOYMENT_TARGET})
467467
set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchos*] "armv7k arm64_32")
468-
set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchsimulator*] "i386")
468+
set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchsimulator*] "x86_64")
469469
set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchos*] "armv7k arm64_32")
470-
set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchsimulator*] "i386")
470+
set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchsimulator*] "x86_64")
471471
else()
472472
set(ARCHS armv7k i386)
473473
set(APPLE_TARGET_TRIPLE_INT arm-i386-apple-watchos${DEPLOYMENT_TARGET})
@@ -485,8 +485,13 @@ elseif(PLATFORM_INT STREQUAL "WATCHOSCOMBINED")
485485
elseif(PLATFORM_INT STREQUAL "SIMULATOR_WATCHOS")
486486
set(SDK_NAME watchsimulator)
487487
if(NOT ARCHS)
488-
set(ARCHS i386)
489-
set(APPLE_TARGET_TRIPLE_INT i386-apple-watchos${DEPLOYMENT_TARGET}-simulator)
488+
if (XCODE_VERSION_INT VERSION_GREATER 10.0)
489+
set(ARCHS x86_64)
490+
set(APPLE_TARGET_TRIPLE_INT x86_64-apple-watchos${DEPLOYMENT_TARGET}-simulator)
491+
else()
492+
set(ARCHS i386)
493+
set(APPLE_TARGET_TRIPLE_INT i386-apple-watchos${DEPLOYMENT_TARGET}-simulator)
494+
endif()
490495
else()
491496
set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-watchos${DEPLOYMENT_TARGET}-simulator)
492497
endif()
@@ -503,19 +508,20 @@ elseif(PLATFORM_INT STREQUAL "SIMULATOR_WATCHOSCOMBINED")
503508
if(MODERN_CMAKE)
504509
if(NOT ARCHS)
505510
if (XCODE_VERSION_INT VERSION_GREATER 12.0)
506-
set(ARCHS arm64 i386)
511+
set(ARCHS arm64 x86_64)
507512
set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchos*] "")
508-
set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchsimulator*] "i386 arm64")
513+
set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchsimulator*] "arm64 x86_64")
509514
set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchos*] "")
510-
set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchsimulator*] "i386 arm64")
515+
set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchsimulator*] "arm64 x86_64")
516+
set(APPLE_TARGET_TRIPLE_INT arm64_x86_64-apple-watchos${DEPLOYMENT_TARGET}-simulator)
511517
else()
512518
set(ARCHS arm64 i386)
513519
set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchos*] "")
514520
set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchsimulator*] "i386")
515521
set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchos*] "")
516522
set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchsimulator*] "i386")
523+
set(APPLE_TARGET_TRIPLE_INT arm64_i386-apple-watchos${DEPLOYMENT_TARGET}-simulator)
517524
endif()
518-
set(APPLE_TARGET_TRIPLE_INT arm64_i386-apple-watchos${DEPLOYMENT_TARGET}-simulator)
519525
else()
520526
set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-watchos${DEPLOYMENT_TARGET}-simulator)
521527
endif()

0 commit comments

Comments
 (0)