Skip to content

Commit 6c6f30b

Browse files
author
Doug Coleman
committed
Overlays: The dependencies right now are approximate, and when new overlays are
added the build breaks. There's already a tool to get proper dependencies, `utils/find-overlay-dependencies.sh`, so this patch allows that tool to update the `CMakeLists.txt` files in-place. Also it adds a line to the `CMakeLists.txt` files for each SDK so that the tool works.
1 parent cb15745 commit 6c6f30b

File tree

24 files changed

+131
-54
lines changed

24 files changed

+131
-54
lines changed

stdlib/public/SDK/AVFoundation/CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ add_swift_library(swiftAVFoundation ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_
33
TARGET_SDKS OSX IOS IOS_SIMULATOR TVOS TVOS_SIMULATOR
44
SWIFT_COMPILE_FLAGS "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}"
55
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
6-
SWIFT_MODULE_DEPENDS Foundation CoreMedia QuartzCore
7-
SWIFT_MODULE_DEPENDS_OSX AppKit
6+
SWIFT_MODULE_DEPENDS Foundation CoreMedia
7+
SWIFT_MODULE_DEPENDS_OSX AppKit CoreAudio CoreData CoreGraphics CoreImage CoreMedia Dispatch Foundation IOKit ObjectiveC os QuartzCore XPC
8+
SWIFT_MODULE_DEPENDS_IOS CoreAudio CoreGraphics CoreMedia Dispatch Foundation ObjectiveC os QuartzCore
9+
SWIFT_MODULE_DEPENDS_TVOS CoreAudio CoreGraphics CoreMedia Dispatch Foundation ObjectiveC os QuartzCore
810
FRAMEWORK_DEPENDS AVFoundation)

stdlib/public/SDK/AssetsLibrary/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ add_swift_library(swiftAssetsLibrary ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS
44
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
55
TARGET_SDKS IOS IOS_SIMULATOR
66
SWIFT_MODULE_DEPENDS ObjectiveC Foundation CoreGraphics
7+
SWIFT_MODULE_DEPENDS_IOS CoreGraphics Dispatch Foundation ObjectiveC os
78
FRAMEWORK_DEPENDS AssetsLibrary)
89

stdlib/public/SDK/CallKit/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ add_swift_library(swiftCallKit ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_O
66
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
77
TARGET_SDKS IOS IOS_SIMULATOR
88
SWIFT_MODULE_DEPENDS Foundation
9+
SWIFT_MODULE_DEPENDS_IOS Dispatch Foundation ObjectiveC os
910
FRAMEWORK_DEPENDS_WEAK CallKit)

stdlib/public/SDK/CloudKit/CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ add_swift_library(swiftCloudKit ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_
55
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
66
TARGET_SDKS OSX IOS IOS_SIMULATOR TVOS TVOS_SIMULATOR WATCHOS WATCHOS_SIMULATOR
77
SWIFT_MODULE_DEPENDS Foundation CoreLocation
8-
SWIFT_MODULE_DEPENDS_OSX Contacts
9-
SWIFT_MODULE_DEPENDS_IOS Contacts
8+
SWIFT_MODULE_DEPENDS_OSX Contacts CoreGraphics CoreLocation Dispatch Foundation IOKit ObjectiveC os
9+
SWIFT_MODULE_DEPENDS_IOS Contacts CoreLocation Dispatch Foundation ObjectiveC os
10+
SWIFT_MODULE_DEPENDS_TVOS CoreLocation Dispatch Foundation ObjectiveC os
11+
SWIFT_MODULE_DEPENDS_WATCHOS CoreLocation Dispatch Foundation ObjectiveC os
1012
FRAMEWORK_DEPENDS_WEAK CloudKit)

stdlib/public/SDK/Contacts/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,6 @@ add_swift_library(swiftContacts ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_
55
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
66
TARGET_SDKS OSX IOS IOS_SIMULATOR WATCHOS WATCHOS_SIMULATOR
77
SWIFT_MODULE_DEPENDS Foundation
8+
SWIFT_MODULE_DEPENDS_IOS Dispatch Foundation ObjectiveC os
9+
SWIFT_MODULE_DEPENDS_WATCHOS Dispatch Foundation ObjectiveC os
810
FRAMEWORK_DEPENDS_WEAK Contacts)

stdlib/public/SDK/CoreAudio/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@ add_swift_library(swiftCoreAudio ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK
66
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
77
TARGET_SDKS OSX IOS IOS_SIMULATOR TVOS TVOS_SIMULATOR WATCHOS WATCHOS_SIMULATOR
88
SWIFT_MODULE_DEPENDS Dispatch
9-
SWIFT_MODULE_DEPENDS_OSX IOKit
9+
SWIFT_MODULE_DEPENDS_OSX Dispatch ObjectiveC os
10+
SWIFT_MODULE_DEPENDS_IOS Dispatch ObjectiveC os
11+
SWIFT_MODULE_DEPENDS_TVOS Dispatch ObjectiveC os
12+
SWIFT_MODULE_DEPENDS_WATCHOS Dispatch ObjectiveC os
1013
# Also depends on: CoreFoundation
1114
FRAMEWORK_DEPENDS CoreAudio)
1215

stdlib/public/SDK/CoreGraphics/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ add_swift_library(swiftCoreGraphics ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_
88
SWIFT_COMPILE_FLAGS "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}"
99
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
1010
SWIFT_MODULE_DEPENDS ObjectiveC Dispatch Darwin
11-
SWIFT_MODULE_DEPENDS_OSX IOKit XPC
11+
SWIFT_MODULE_DEPENDS_OSX Dispatch IOKit ObjectiveC os
1212
FRAMEWORK_DEPENDS CoreGraphics)
1313

stdlib/public/SDK/CoreImage/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ add_swift_library(swiftCoreImage ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK
55
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
66
TARGET_SDKS OSX IOS IOS_SIMULATOR TVOS TVOS_SIMULATOR
77
SWIFT_MODULE_DEPENDS Foundation ObjectiveC
8-
SWIFT_MODULE_DEPENDS_IOS CoreMedia
9-
SWIFT_MODULE_DEPENDS_TVOS CoreMedia
8+
SWIFT_MODULE_DEPENDS_IOS CoreGraphics Dispatch Foundation ObjectiveC os
9+
SWIFT_MODULE_DEPENDS_TVOS CoreGraphics Dispatch Foundation ObjectiveC os
1010
FRAMEWORK_DEPENDS_OSX QuartzCore
1111
FRAMEWORK_DEPENDS_IOS_TVOS CoreImage)
1212

stdlib/public/SDK/CoreMedia/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ add_swift_library(swiftCoreMedia ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK
77
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
88
TARGET_SDKS OSX IOS IOS_SIMULATOR TVOS TVOS_SIMULATOR
99
SWIFT_MODULE_DEPENDS Dispatch CoreAudio CoreGraphics Foundation
10-
SWIFT_MODULE_DEPENDS_OSX AppKit
10+
SWIFT_MODULE_DEPENDS_OSX AppKit CoreAudio CoreData CoreGraphics CoreImage Dispatch Foundation IOKit ObjectiveC os QuartzCore XPC
11+
SWIFT_MODULE_DEPENDS_IOS CoreAudio CoreGraphics Dispatch Foundation ObjectiveC os
12+
SWIFT_MODULE_DEPENDS_TVOS CoreAudio CoreGraphics Dispatch Foundation ObjectiveC os
1113
FRAMEWORK_DEPENDS CoreMedia)
1214

stdlib/public/SDK/Foundation/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,6 @@ add_swift_library(swiftFoundation ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SD
3838
SWIFT_COMPILE_FLAGS "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}"
3939
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
4040
SWIFT_MODULE_DEPENDS ObjectiveC CoreGraphics Dispatch os
41-
SWIFT_MODULE_DEPENDS_OSX XPC
41+
SWIFT_MODULE_DEPENDS_OSX CoreGraphics Dispatch IOKit ObjectiveC os
4242
FRAMEWORK_DEPENDS Foundation)
4343

stdlib/public/SDK/GLKit/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ add_swift_library(swiftGLKit ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_OVE
55
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
66
TARGET_SDKS OSX IOS IOS_SIMULATOR TVOS TVOS_SIMULATOR
77
SWIFT_MODULE_DEPENDS Foundation simd
8-
SWIFT_MODULE_DEPENDS_OSX AppKit
9-
SWIFT_MODULE_DEPENDS_IOS UIKit
10-
SWIFT_MODULE_DEPENDS_TVOS UIKit
8+
SWIFT_MODULE_DEPENDS_OSX AppKit CoreData CoreGraphics CoreImage Dispatch Foundation IOKit ObjectiveC os QuartzCore simd XPC
9+
SWIFT_MODULE_DEPENDS_IOS CoreGraphics CoreImage Dispatch Foundation ObjectiveC os QuartzCore simd UIKit
10+
SWIFT_MODULE_DEPENDS_TVOS CoreGraphics CoreImage Dispatch Foundation ObjectiveC os QuartzCore simd UIKit
1111
FRAMEWORK_DEPENDS GLKit)
1212

stdlib/public/SDK/GameplayKit/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ add_swift_library(swiftGameplayKit ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_S
66
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
77
TARGET_SDKS OSX IOS IOS_SIMULATOR TVOS TVOS_SIMULATOR
88
SWIFT_MODULE_DEPENDS Foundation simd GLKit SpriteKit
9-
SWIFT_MODULE_DEPENDS_OSX AppKit
10-
SWIFT_MODULE_DEPENDS_IOS UIKit
11-
SWIFT_MODULE_DEPENDS_TVOS UIKit
9+
SWIFT_MODULE_DEPENDS_OSX AppKit CoreData CoreGraphics CoreImage Dispatch Foundation GLKit IOKit ObjectiveC os QuartzCore simd SpriteKit XPC
10+
SWIFT_MODULE_DEPENDS_IOS CoreGraphics CoreImage Dispatch Foundation GLKit ObjectiveC os QuartzCore simd SpriteKit UIKit
11+
SWIFT_MODULE_DEPENDS_TVOS CoreGraphics CoreImage Dispatch Foundation GLKit ObjectiveC os QuartzCore simd SpriteKit UIKit
1212
FRAMEWORK_DEPENDS_WEAK GameplayKit)

stdlib/public/SDK/HomeKit/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ add_swift_library(swiftHomeKit ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_O
55
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
66
TARGET_SDKS IOS IOS_SIMULATOR TVOS TVOS_SIMULATOR WATCHOS WATCHOS_SIMULATOR
77
SWIFT_MODULE_DEPENDS Foundation
8-
SWIFT_MODULE_DEPENDS_IOS UIKit
9-
SWIFT_MODULE_DEPENDS_TVOS UIKit
10-
SWIFT_MODULE_DEPENDS_WATCHOS UIKit
8+
SWIFT_MODULE_DEPENDS_IOS CoreGraphics CoreImage Dispatch Foundation ObjectiveC os QuartzCore UIKit
9+
SWIFT_MODULE_DEPENDS_TVOS CoreGraphics CoreImage Dispatch Foundation ObjectiveC os QuartzCore UIKit
10+
SWIFT_MODULE_DEPENDS_WATCHOS CoreGraphics Dispatch Foundation ObjectiveC os
1111
FRAMEWORK_DEPENDS_WEAK HomeKit)

stdlib/public/SDK/Intents/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@ add_swift_library(swiftIntents ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_O
1818
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
1919
TARGET_SDKS OSX IOS IOS_SIMULATOR
2020
SWIFT_MODULE_DEPENDS Foundation CoreLocation
21-
SWIFT_MODULE_DEPENDS_OSX AppKit
22-
SWIFT_MODULE_DEPENDS_IOS UIKit
21+
SWIFT_MODULE_DEPENDS_OSX CoreGraphics CoreLocation Dispatch Foundation IOKit ObjectiveC os
22+
SWIFT_MODULE_DEPENDS_IOS CoreLocation Dispatch Foundation ObjectiveC os
2323
FRAMEWORK_DEPENDS_WEAK Intents)

stdlib/public/SDK/MapKit/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ add_swift_library(swiftMapKit ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_OV
33
SWIFT_COMPILE_FLAGS "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}"
44
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
55
SWIFT_MODULE_DEPENDS ObjectiveC Foundation CoreLocation
6-
SWIFT_MODULE_DEPENDS_IOS QuartzCore CoreImage UIKit
7-
SWIFT_MODULE_DEPENDS_OSX QuartzCore CoreImage AppKit
8-
SWIFT_MODULE_DEPENDS_TVOS QuartzCore CoreImage UIKit
6+
SWIFT_MODULE_DEPENDS_IOS CoreGraphics CoreImage CoreLocation Dispatch Foundation ObjectiveC os QuartzCore UIKit
7+
SWIFT_MODULE_DEPENDS_OSX AppKit CoreData CoreGraphics CoreImage CoreLocation Dispatch Foundation IOKit ObjectiveC os QuartzCore XPC
8+
SWIFT_MODULE_DEPENDS_TVOS CoreGraphics CoreImage CoreLocation Dispatch Foundation ObjectiveC os QuartzCore UIKit
99
FRAMEWORK_DEPENDS MapKit)
1010

stdlib/public/SDK/Photos/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ add_swift_library(swiftPhotos ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_OV
55
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
66
TARGET_SDKS IOS IOS_SIMULATOR TVOS TVOS_SIMULATOR
77
SWIFT_MODULE_DEPENDS Foundation CoreLocation CoreImage CoreMedia
8-
SWIFT_MODULE_DEPENDS_IOS UIKit AVFoundation
9-
SWIFT_MODULE_DEPENDS_TVOS UIKit AVFoundation
8+
SWIFT_MODULE_DEPENDS_IOS AVFoundation CoreAudio CoreGraphics CoreImage CoreLocation CoreMedia Dispatch Foundation ObjectiveC os QuartzCore UIKit
9+
SWIFT_MODULE_DEPENDS_TVOS AVFoundation CoreAudio CoreGraphics CoreImage CoreLocation CoreMedia Dispatch Foundation ObjectiveC os QuartzCore UIKit
1010
FRAMEWORK_DEPENDS Photos)
1111

stdlib/public/SDK/QuartzCore/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ add_swift_library(swiftQuartzCore ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SD
44
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
55
TARGET_SDKS OSX IOS IOS_SIMULATOR TVOS TVOS_SIMULATOR
66
SWIFT_MODULE_DEPENDS ObjectiveC Foundation CoreGraphics
7-
SWIFT_MODULE_DEPENDS_OSX CoreImage
7+
SWIFT_MODULE_DEPENDS_OSX CoreGraphics CoreImage Dispatch Foundation IOKit ObjectiveC os XPC
8+
SWIFT_MODULE_DEPENDS_IOS CoreGraphics Dispatch Foundation ObjectiveC os
9+
SWIFT_MODULE_DEPENDS_TVOS CoreGraphics Dispatch Foundation ObjectiveC os
810
FRAMEWORK_DEPENDS QuartzCore)
911

1012

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
1-
SET(SWIFT_SCENEKIT_DEPENDENCIES_NON_WATCHOS
2-
Foundation
3-
GLKit
4-
simd
5-
CoreImage)
6-
71
add_swift_library(swiftSceneKit ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_OVERLAY
82
SceneKit.swift.gyb
93
Thunks.mm
104

115
SWIFT_COMPILE_FLAGS "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}"
126
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
137
TARGET_SDKS OSX IOS IOS_SIMULATOR TVOS TVOS_SIMULATOR WATCHOS WATCHOS_SIMULATOR
14-
SWIFT_MODULE_DEPENDS_OSX ${SWIFT_SCENEKIT_DEPENDENCIES_NON_WATCHOS} AppKit
15-
SWIFT_MODULE_DEPENDS_IOS ${SWIFT_SCENEKIT_DEPENDENCIES_NON_WATCHOS} UIKit
16-
SWIFT_MODULE_DEPENDS_TVOS ${SWIFT_SCENEKIT_DEPENDENCIES_NON_WATCHOS} UIKit
8+
SWIFT_MODULE_DEPENDS_OSX AppKit CoreData CoreGraphics CoreImage Dispatch Foundation GLKit IOKit ObjectiveC os QuartzCore simd XPC
9+
SWIFT_MODULE_DEPENDS_IOS CoreGraphics CoreImage Dispatch Foundation GLKit ObjectiveC os QuartzCore simd UIKit
10+
SWIFT_MODULE_DEPENDS_TVOS CoreGraphics CoreImage Dispatch Foundation GLKit ObjectiveC os QuartzCore simd UIKit
11+
SWIFT_MODULE_DEPENDS_WATCHOS CoreGraphics Dispatch Foundation ObjectiveC os simd
1712
SWIFT_MODULE_DEPENDS Foundation simd
1813
FRAMEWORK_DEPENDS_WEAK SceneKit)
1914

stdlib/public/SDK/SpriteKit/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ add_swift_library(swiftSpriteKit ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK
66
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
77
TARGET_SDKS OSX IOS IOS_SIMULATOR TVOS TVOS_SIMULATOR WATCHOS WATCHOS_SIMULATOR
88
SWIFT_MODULE_DEPENDS Foundation simd
9-
SWIFT_MODULE_DEPENDS_OSX AppKit GLKit
10-
SWIFT_MODULE_DEPENDS_IOS UIKit GLKit
11-
SWIFT_MODULE_DEPENDS_TVOS UIKit GLKit
12-
SWIFT_MODULE_DEPENDS_WATCHOS UIKit
9+
SWIFT_MODULE_DEPENDS_OSX AppKit CoreData CoreGraphics CoreImage Dispatch Foundation GLKit IOKit ObjectiveC os QuartzCore simd XPC
10+
SWIFT_MODULE_DEPENDS_IOS CoreGraphics CoreImage Dispatch Foundation GLKit ObjectiveC os QuartzCore simd UIKit
11+
SWIFT_MODULE_DEPENDS_TVOS CoreGraphics CoreImage Dispatch Foundation GLKit ObjectiveC os QuartzCore simd UIKit
12+
SWIFT_MODULE_DEPENDS_WATCHOS CoreGraphics Dispatch Foundation ObjectiveC os simd UIKit
1313
FRAMEWORK_DEPENDS SpriteKit)
1414

stdlib/public/SDK/UIKit/CMakeLists.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ add_swift_library(swiftUIKit ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_OVE
77
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
88
TARGET_SDKS IOS IOS_SIMULATOR TVOS TVOS_SIMULATOR WATCHOS WATCHOS_SIMULATOR
99
SWIFT_MODULE_DEPENDS ObjectiveC Foundation
10-
SWIFT_MODULE_DEPENDS_IOS CoreImage QuartzCore
11-
SWIFT_MODULE_DEPENDS_TVOS CoreImage QuartzCore
10+
SWIFT_MODULE_DEPENDS_IOS CoreGraphics CoreImage Dispatch Foundation ObjectiveC os QuartzCore
11+
SWIFT_MODULE_DEPENDS_TVOS CoreGraphics CoreImage Dispatch Foundation ObjectiveC os QuartzCore
12+
SWIFT_MODULE_DEPENDS_WATCHOS CoreGraphics Dispatch Foundation ObjectiveC os
1213
SWIFT_COMPILE_FLAGS_WATCHOS -Xfrontend -disable-autolink-framework -Xfrontend CoreText
1314
FRAMEWORK_DEPENDS UIKit)
1415

stdlib/public/SDK/WatchKit/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ add_swift_library(swiftWatchKit ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_
55
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
66
TARGET_SDKS IOS IOS_SIMULATOR WATCHOS WATCHOS_SIMULATOR
77
SWIFT_MODULE_DEPENDS Foundation UIKit CoreGraphics MapKit
8-
SWIFT_MODULE_DEPENDS_WATCHOS HomeKit SceneKit
8+
SWIFT_MODULE_DEPENDS_IOS CoreGraphics CoreImage CoreLocation Dispatch Foundation MapKit ObjectiveC os QuartzCore UIKit
9+
SWIFT_MODULE_DEPENDS_WATCHOS CoreGraphics CoreLocation Dispatch Foundation HomeKit MapKit ObjectiveC os SceneKit simd UIKit
910
FRAMEWORK_DEPENDS_WEAK WatchKit
1011
SWIFT_COMPILE_FLAGS_WATCHOS -Xfrontend -disable-autolink-framework -Xfrontend CoreText
1112
)

stdlib/public/SDK/os/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ add_swift_library(swiftos ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_OVERLA
55
SWIFT_COMPILE_FLAGS "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}"
66
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
77
SWIFT_MODULE_DEPENDS ObjectiveC Dispatch
8-
SWIFT_MODULE_DEPENDS_OSX XPC)
8+
SWIFT_MODULE_DEPENDS_OSX Dispatch ObjectiveC XPC
9+
)
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/bin/bash
2+
#===--- find-overlay-dependencies-loop.sh - driver for find-overlay-dependency.sh---===#
3+
#
4+
## This source file is part of the Swift.org open source project
5+
##
6+
## Copyright (c) 2016 Apple Inc. and the Swift project authors
7+
## Licensed under Apache License v2.0 with Runtime Library Exception
8+
##
9+
## See http://swift.org/LICENSE.txt for license information
10+
## See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
11+
#
12+
#===------------------------------------------------------------------------===#
13+
14+
SCRIPT="$(dirname "$0")/find-overlay-dependencies.sh"
15+
16+
# `update` edits the cmake file in-place; `print` just prints to console
17+
function usage() {
18+
echo 'usage:' $0 'update|print' >&2
19+
exit 1
20+
}
21+
22+
case $# in
23+
1) if [[ $1 != 'update' && $1 != 'print' ]]; then
24+
usage
25+
fi ;;
26+
*)
27+
usage ;;
28+
esac
29+
30+
# Don't update XCTest
31+
for overlay in $(find ./stdlib/public/SDK/ -depth 1 -type d ! -name XCTest -exec basename \{\} \;); do
32+
$SCRIPT $overlay $1
33+
done

utils/find-overlay-dependencies.sh

Lines changed: 41 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,39 +14,70 @@
1414
# This script uses zsh for its associative array support, because it is only
1515
# intended to be run on macOS and macOS bash is very old.
1616

17-
if [[ $# -ne 1 ]]; then
18-
echo 'usage:' $0 '<module-name>' >&2
17+
function usage() {
18+
echo 'usage:' $0 '<module-name> [update|print]' >&2
1919
exit 1
20-
fi
20+
}
21+
22+
# `update` edits the cmake file in-place; `print` just prints to console
23+
UPDATE_CMAKE=0
24+
case $# in
25+
1) ;;
26+
2) if [[ $2 == 'update' ]]; then
27+
UPDATE_CMAKE=1
28+
elif [[ $2 != 'print' ]]; then
29+
usage
30+
fi ;;
31+
*)
32+
usage ;;
33+
esac
2134

2235
OVERLAYS_PATH=$(dirname "$0")/../stdlib/public/SDK/
36+
CMAKE_PATH=$OVERLAYS_PATH/$1/CMakeLists.txt
2337

38+
# Add both directions to associative array
2439
typeset -A CUSTOM_NAMED_MODULES
2540
CUSTOM_NAMED_MODULES[ObjectiveC]=objc
41+
CUSTOM_NAMED_MODULES[objc]=ObjectiveC
2642
CUSTOM_NAMED_MODULES[Dispatch]=dispatch
43+
CUSTOM_NAMED_MODULES[dispatch]=Dispatch
2744
CUSTOM_NAMED_MODULES[XPC]=xpc
45+
CUSTOM_NAMED_MODULES[xpc]=XPC
2846

47+
# Exclude XCTest/ and CMakeLists.txt
2948
ALL_OVERLAYS=()
30-
for overlay in $(ls "$OVERLAYS_PATH"); do
49+
for overlay in $(find "$OVERLAYS_PATH" -depth 1 -type d ! -name XCTest -exec basename \{\} \;); do
3150
ALL_OVERLAYS+=${CUSTOM_NAMED_MODULES[$overlay]-$overlay}
3251
done
3352

3453
typeset -A SDKS
35-
SDKS[macosx]=x86_64
36-
SDKS[iphoneos]=arm64
37-
SDKS[appletvos]=arm64
38-
SDKS[watchos]=armv7k
54+
SDKS[macosx]="x86_64"
55+
SDKS[iphoneos]="arm64"
56+
SDKS[appletvos]="arm64"
57+
SDKS[watchos]="armv7k"
58+
59+
typeset -A CMAKE_DEPENDS_NAME
60+
CMAKE_DEPENDS_NAME[macosx]="SWIFT_MODULE_DEPENDS_OSX"
61+
CMAKE_DEPENDS_NAME[iphoneos]="SWIFT_MODULE_DEPENDS_IOS"
62+
CMAKE_DEPENDS_NAME[appletvos]="SWIFT_MODULE_DEPENDS_TVOS"
63+
CMAKE_DEPENDS_NAME[watchos]="SWIFT_MODULE_DEPENDS_WATCHOS"
3964

65+
echo $1
4066
for sdk in ${(k)SDKS}; do
4167
arch=$SDKS[$sdk]
68+
DEPENDS_ON=()
4269
printf "%s:\n\t" "$sdk"
4370
deps=$(echo "@import $1;" | xcrun -sdk $sdk clang -arch $arch -x objective-c - -M -fmodules 2>/dev/null)
4471
for overlay in $ALL_OVERLAYS; do
4572
(echo "$deps" |
4673
egrep -v 'module.(module)?map' |
4774
egrep -v "\b${CUSTOM_NAMED_MODULES[$1]-$1}\b" |
4875
egrep -q "\b$overlay\b") &&
49-
printf "%s " $overlay
76+
DEPENDS_ON+=${CUSTOM_NAMED_MODULES[$overlay]-$overlay}
5077
done
51-
echo # newline
78+
echo " $DEPENDS_ON"
79+
if [[ $UPDATE_CMAKE == 1 ]]; then
80+
perl -pi -e "s/^ $CMAKE_DEPENDS_NAME[$sdk].*$/ $CMAKE_DEPENDS_NAME[$sdk] $DEPENDS_ON/" $CMAKE_PATH
81+
fi
5282
done
83+
echo # newline

0 commit comments

Comments
 (0)