@@ -48,15 +48,16 @@ index 324d1a77eea..e88601a8701 100644
48
48
49
49
from . import cmake_product
50
50
from . import product
51
- @@ -115,6 +117,22 @@ class SwiftTestingCMakeShim(cmake_product.CMakeProduct):
51
+ @@ -115,6 +117,24 @@ class SwiftTestingCMakeShim(cmake_product.CMakeProduct):
52
52
# FIXME: If we build macros for the builder, specify the path.
53
53
self.cmake_options.define('SwiftTesting_MACRO', 'NO')
54
54
55
55
+ if host_target.startswith('android') and self.is_cross_compile_target(host_target):
56
56
+ host_config = HostSpecificConfiguration(host_target, self.args)
57
57
+ self.cmake_options.extend(host_config.cmake_options)
58
- + flags = '-target %s-unknown-linux-android%s ' % (self.args.android_arch,
59
- + self.args.android_api_level)
58
+ + triple = '%s-unknown-linux-android%s' % (self.args.android_arch,
59
+ + self.args.android_api_level)
60
+ + flags = '-target %s ' % (triple)
60
61
+
61
62
+ flags += '-resource-dir %s/lib/swift ' % (
62
63
+ self.host_install_destdir(host_target) + self.args.install_prefix)
@@ -65,6 +66,7 @@ index 324d1a77eea..e88601a8701 100644
65
66
+ flags += '-sdk %s/sysroot ' % (ndk_path)
66
67
+ flags += '-tools-directory %s/bin' % (ndk_path)
67
68
+ self.cmake_options.define('CMAKE_Swift_FLAGS', flags)
69
+ + self.cmake_options.define('CMAKE_Swift_COMPILER_TARGET', triple)
68
70
+ self.cmake_options.define('CMAKE_CXX_COMPILER_WORKS', 'True')
69
71
+ self.cmake_options.define('CMAKE_FIND_ROOT_PATH', self.args.cross_compile_deps_path)
70
72
+
@@ -83,36 +85,6 @@ index 7f290d16..95366592 100644
83
85
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
84
86
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
85
87
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
86
- diff --git a/swift-corelibs-xctest/cmake/modules/PlatformInfo.cmake b/swift-corelibs-xctest/cmake/modules/PlatformInfo.cmake
87
- index 468dc61..a90ae3d 100644
88
- --- a/swift-corelibs-xctest/cmake/modules/PlatformInfo.cmake
89
- +++ b/swift-corelibs-xctest/cmake/modules/PlatformInfo.cmake
90
- @@ -2,6 +2,10 @@
91
- set(print_target_info_invocation "${CMAKE_Swift_COMPILER}" -print-target-info)
92
- if(CMAKE_Swift_COMPILER_TARGET)
93
- list(APPEND print_target_info_invocation -target ${CMAKE_Swift_COMPILER_TARGET})
94
- + else()
95
- + set(arg_list ${CMAKE_Swift_FLAGS})
96
- + separate_arguments(arg_list)
97
- + list(APPEND print_target_info_invocation ${arg_list})
98
- endif()
99
- execute_process(COMMAND ${print_target_info_invocation} OUTPUT_VARIABLE target_info_json)
100
- message(CONFIGURE_LOG "Swift Target Info: ${print_target_info_invocation}\n"
101
- diff --git a/swift-foundation/cmake/modules/SwiftFoundationSwiftSupport.cmake b/swift-foundation/cmake/modules/SwiftFoundationSwiftSupport.cmake
102
- index cbdfc2a..bb4121d 100644
103
- --- a/swift-foundation/cmake/modules/SwiftFoundationSwiftSupport.cmake
104
- +++ b/swift-foundation/cmake/modules/SwiftFoundationSwiftSupport.cmake
105
- @@ -37,6 +37,10 @@ function(_swift_foundation_install_target module)
106
- set(module_triple_command "${CMAKE_Swift_COMPILER}" -print-target-info)
107
- if(CMAKE_Swift_COMPILER_TARGET)
108
- list(APPEND module_triple_command -target ${CMAKE_Swift_COMPILER_TARGET})
109
- + else()
110
- + set(arg_list ${CMAKE_Swift_FLAGS})
111
- + separate_arguments(arg_list)
112
- + list(APPEND module_triple_command ${arg_list})
113
- endif()
114
- execute_process(COMMAND ${module_triple_command} OUTPUT_VARIABLE target_info_json)
115
- string(JSON module_triple GET "${target_info_json}" "target" "moduleTriple")
116
88
diff --git a/swift-testing/CMakeLists.txt b/swift-testing/CMakeLists.txt
117
89
index 1be9a4b..bd7b1bd 100644
118
90
--- a/swift-testing/CMakeLists.txt
@@ -125,33 +97,3 @@ index 1be9a4b..bd7b1bd 100644
125
97
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
126
98
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
127
99
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
128
- diff --git a/swift-testing/cmake/modules/PlatformInfo.cmake b/swift-testing/cmake/modules/PlatformInfo.cmake
129
- index 94c60ef..ab8a491 100644
130
- --- a/swift-testing/cmake/modules/PlatformInfo.cmake
131
- +++ b/swift-testing/cmake/modules/PlatformInfo.cmake
132
- @@ -9,6 +9,10 @@
133
- set(print_target_info_invocation "${CMAKE_Swift_COMPILER}" -print-target-info)
134
- if(CMAKE_Swift_COMPILER_TARGET)
135
- list(APPEND print_target_info_invocation -target ${CMAKE_Swift_COMPILER_TARGET})
136
- + else()
137
- + set(arg_list ${CMAKE_Swift_FLAGS})
138
- + separate_arguments(arg_list)
139
- + list(APPEND print_target_info_invocation ${arg_list})
140
- endif()
141
- execute_process(COMMAND ${print_target_info_invocation} OUTPUT_VARIABLE target_info_json)
142
- message(CONFIGURE_LOG "Swift Target Info: ${print_target_info_invocation}\n"
143
- diff --git a/swift-testing/cmake/modules/TargetTriple.cmake b/swift-testing/cmake/modules/TargetTriple.cmake
144
- index e087cc4..02f3a95 100644
145
- --- a/swift-testing/cmake/modules/TargetTriple.cmake
146
- +++ b/swift-testing/cmake/modules/TargetTriple.cmake
147
- @@ -10,6 +10,10 @@
148
- set(SWT_TARGET_INFO_COMMAND "${CMAKE_Swift_COMPILER}" -print-target-info)
149
- if(CMAKE_Swift_COMPILER_TARGET)
150
- list(APPEND SWT_TARGET_INFO_COMMAND -target ${CMAKE_Swift_COMPILER_TARGET})
151
- + else()
152
- + set(arg_list ${CMAKE_Swift_FLAGS})
153
- + separate_arguments(arg_list)
154
- + list(APPEND SWT_TARGET_INFO_COMMAND ${arg_list})
155
- endif()
156
- execute_process(COMMAND ${SWT_TARGET_INFO_COMMAND} OUTPUT_VARIABLE SWT_TARGET_INFO_JSON)
157
- string(JSON SWT_TARGET_TRIPLE GET "${SWT_TARGET_INFO_JSON}" "target" "unversionedTriple")
0 commit comments