File tree Expand file tree Collapse file tree 6 files changed +114
-1
lines changed Expand file tree Collapse file tree 6 files changed +114
-1
lines changed Original file line number Diff line number Diff line change
1
+
2
+ gyb_expand (tgmath.swift.gyb tgmath.swift )
3
+
4
+ add_library (swiftAndroid
5
+ tgmath.swift
6
+ Android.swift
7
+ Platform.swift
8
+ POSIXError.swift
9
+ TiocConstants.swift )
10
+ set_target_properties (swiftAndroid PROPERTIES
11
+ Swift_MODULE_NAME Android )
12
+ target_compile_definitions (swiftAndroid PRIVATE
13
+ $< $< BOOL:${SwiftOverlay_ENABLE_REFLECTION} > :SWIFT_ENABLE_REFLECTION> )
14
+ target_link_libraries (swiftAndroid PRIVATE
15
+ SwiftAndroid
16
+ swiftCore )
17
+
18
+ install (TARGETS swiftAndroid
19
+ ARCHIVE DESTINATION "${SwiftOverlay_INSTALL_LIBDIR} "
20
+ LIBRARY DESTINATION "${SwiftOverlay_INSTALL_LIBDIR} "
21
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR} " )
22
+ emit_swift_interface (swiftAndroid )
23
+ install_swift_interface (swiftAndroid )
24
+
25
+ embed_manifest (swiftAndroid )
Original file line number Diff line number Diff line change
1
+
2
+ add_subdirectory (clang )
3
+ add_subdirectory (Android )
4
+ add_subdirectory (Math )
Original file line number Diff line number Diff line change
1
+
2
+ add_library (swift_math
3
+ Math .swift )
4
+ set_target_properties (swift_math PROPERTIES
5
+ Swift_MODULE_NAME math )
6
+ target_link_libraries (swift_math PRIVATE
7
+ SwiftAndroid
8
+ swiftCore )
9
+
10
+ install (TARGETS swift_math
11
+ ARCHIVE DESTINATION "${SwiftOverlay_INSTALL_LIBDIR} "
12
+ LIBRARY DESTINATION "${SwiftOverlay_INSTALL_LIBDIR} "
13
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR} " )
14
+ emit_swift_interface (swift_math )
15
+ install_swift_interface (swift_math )
16
+
17
+ embed_manifest (swift_math )
Original file line number Diff line number Diff line change
1
+
2
+ # FIXME: how do we determine the sysroot? `CMAKE_SYSROOT` does not contain the sysroot.
3
+ file (CONFIGURE
4
+ OUTPUT android-ndk-overlay.yaml
5
+ CONTENT [[
6
+ ---
7
+ version: 0
8
+ case-sensitive: false
9
+ use-external-names: false
10
+ roots:
11
+ - name: "@CMAKE_ANDROID_NDK@/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/include"
12
+ type: directory
13
+ contents:
14
+ - name: module.modulemap
15
+ type: file
16
+ external-contents: "@CMAKE_CURRENT_SOURCE_DIR@/android.modulemap"
17
+ - name: SwiftAndroidNDK.h
18
+ type: file
19
+ external-contents: "@CMAKE_CURRENT_SOURCE_DIR@/SwiftAndroidNDK.h"
20
+ - name: SwiftBionic.h
21
+ type: file
22
+ external-contents: "@CMAKE_CURRENT_SOURCE_DIR@/SwiftBionic.h"
23
+ ]]
24
+ ESCAPE_QUOTES @ONLY NEWLINE_STYLE LF )
25
+
26
+ add_library (SwiftAndroid INTERFACE )
27
+ target_compile_options (SwiftAndroid INTERFACE
28
+ "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xcc --sysroot=\" ${CMAKE_ANDROID_NDK} /toolchains/llvm/prebuilt/windows-x86_64/sysroot\" >"
29
+ "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-vfsoverlay ${CMAKE_CURRENT_BINARY_DIR} /android-ndk-overlay.yaml>" )
30
+
31
+ install (FILES
32
+ android.modulemap
33
+ SwiftAndroidNDK.h
34
+ SwiftBionic.h
35
+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /swift$<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:_static>/${SwiftOverlay_PLATFORM_SUBDIR}/${SwiftOverlay_ARCH_SUBDIR} )
36
+
37
+ install (FILES
38
+ posix_filesystem.apinotes
39
+ spawn.apinotes
40
+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /swift$<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:_static>/apinotes )
Original file line number Diff line number Diff line change @@ -48,6 +48,9 @@ add_compile_options(
48
48
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-implicit-string-processing-module-import>" )
49
49
50
50
add_subdirectory (clang )
51
+ if (ANDROID )
52
+ add_subdirectory (Android )
53
+ endif ()
51
54
if (WIN32 )
52
55
add_subdirectory (Windows )
53
56
endif ()
Original file line number Diff line number Diff line change @@ -104,11 +104,35 @@ copy_library_sources("linker-support" "" "Overlay")
104
104
message (STATUS "Clang[${StdlibSources} /public/ClangOverlays] -> ${CMAKE_CURRENT_LIST_DIR} /Overlay/clang" )
105
105
copy_files (public /ClangOverlays Overlay/clang FILES float.swift.gyb )
106
106
107
+ # Android Overlay
108
+ message (STATUS "Android modulemaps[${StdlibSources} /Platform] -> ${CMAKE_CURRENT_LIST_DIR} /Overlay/Android/clang" )
109
+ copy_files (public /Platform Overlay/Android/clang
110
+ FILES
111
+ android.modulemap
112
+ posix_filesystem.apinotes
113
+ spawn.apinotes
114
+ SwiftAndroidNDK.h
115
+ SwiftBionic.h )
116
+
117
+ message (STATUS "Android Android[${StdlibSources} /Platform] -> ${CMAKE_CURRENT_LIST_DIR} /Overlay/Android/Android" )
118
+ copy_files (public /Platform Overlay/Android/Android
119
+ FILES
120
+ Android.swift
121
+ Platform.swift
122
+ POSIXError.swift
123
+ TiocConstants.swift
124
+ tgmath.swift.gyb )
125
+
126
+ message (STATUS "Android Math[${StdlibSources} /Platform] -> ${CMAKE_CURRENT_LIST_DIR} /Overlay/Android/Math" )
127
+ copy_files (public /Platform Overlay/Android/Math
128
+ FILES
129
+ Math .swift )
130
+
107
131
# Windows Overlay
108
132
message (STATUS "WinSDK[${StdlibSources} /public/Windows] -> ${CMAKE_CURRENT_LIST_DIR} /Overlay/Windows/WinSDK" )
109
133
copy_files (public /Windows Overlay/Windows/WinSDK FILES WinSDK.swift )
110
134
111
- message (STATUS "Windows Modulemaps [${StdlibSources} /Platform] -> ${CMAKE_CURRENT_LIST_DIR} /Overlay/Windows/clang" )
135
+ message (STATUS "Windows modulemaps [${StdlibSources} /Platform] -> ${CMAKE_CURRENT_LIST_DIR} /Overlay/Windows/clang" )
112
136
copy_files (public /Platform Overlay/Windows/clang
113
137
FILES
114
138
ucrt.modulemap
You can’t perform that action at this time.
0 commit comments