@@ -48,15 +48,16 @@ index 324d1a77eea..e88601a8701 100644
4848
4949 from . import cmake_product
5050 from . import product
51- @@ -115,6 +117,22 @@ class SwiftTestingCMakeShim(cmake_product.CMakeProduct):
51+ @@ -115,6 +117,24 @@ class SwiftTestingCMakeShim(cmake_product.CMakeProduct):
5252 # FIXME: If we build macros for the builder, specify the path.
5353 self.cmake_options.define('SwiftTesting_MACRO', 'NO')
5454
5555+ if host_target.startswith('android') and self.is_cross_compile_target(host_target):
5656+ host_config = HostSpecificConfiguration(host_target, self.args)
5757+ 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)
6061+
6162+ flags += '-resource-dir %s/lib/swift ' % (
6263+ self.host_install_destdir(host_target) + self.args.install_prefix)
@@ -65,6 +66,7 @@ index 324d1a77eea..e88601a8701 100644
6566+ flags += '-sdk %s/sysroot ' % (ndk_path)
6667+ flags += '-tools-directory %s/bin' % (ndk_path)
6768+ self.cmake_options.define('CMAKE_Swift_FLAGS', flags)
69+ + self.cmake_options.define('CMAKE_Swift_COMPILER_TARGET', triple)
6870+ self.cmake_options.define('CMAKE_CXX_COMPILER_WORKS', 'True')
6971+ self.cmake_options.define('CMAKE_FIND_ROOT_PATH', self.args.cross_compile_deps_path)
7072+
@@ -83,36 +85,6 @@ index 7f290d16..95366592 100644
8385 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
8486 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
8587 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")
11688diff --git a/swift-testing/CMakeLists.txt b/swift-testing/CMakeLists.txt
11789index 1be9a4b..bd7b1bd 100644
11890--- a/swift-testing/CMakeLists.txt
@@ -125,33 +97,3 @@ index 1be9a4b..bd7b1bd 100644
12597 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
12698 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
12799 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