Skip to content

Commit 7aa00e8

Browse files
committed
build: repair the sub-build for libdispatch on Windows i686
When building on Windows i686 with a toolchain build for Windows x64, we would try to build libdispatch for i686 as x86_64. This obviously would be incorrect. Explicitly pass the target triple for the sub-builds. We can do this unconditionally since we always use `clang-cl` builds. This allows us to build the SDK only components for Windows i686 from a 64bit build.
1 parent 9d4ce58 commit 7aa00e8

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

cmake/modules/Libdispatch.cmake

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,11 @@ foreach(sdk ${DISPATCH_SDKS})
6969
foreach(arch ${ARCHS})
7070
set(LIBDISPATCH_VARIANT_NAME "libdispatch-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-${arch}")
7171

72+
if(sdk MATCHES WINDOWS)
73+
set(SWIFT_LIBDISPATCH_COMPILER_TRIPLE_CMAKE_ARGS -DCMAKE_C_COMPILER_TARGET=${SWIFT_SDK_WINDOWS_ARCH_${arch}_TRIPLE};-DCMAKE_CXX_COMPILER_TARGET=${SWIFT_SDK_WINDOWS_ARCH_${arch}_TRIPLE})
74+
endif()
75+
76+
7277
if(NOT sdk STREQUAL ANDROID)
7378
set(SWIFT_LIBDISPATCH_SYSTEM_PROCESSOR -DCMAKE_SYSTEM_PROCESSOR=${arch})
7479
endif()
@@ -80,6 +85,7 @@ foreach(sdk ${DISPATCH_SDKS})
8085
-DCMAKE_AR=${CMAKE_AR}
8186
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
8287
${SWIFT_LIBDISPATCH_COMPILER_CMAKE_ARGS}
88+
${SWIFT_LIBDISPATCH_COMPILER_TRIPLE_CMAKE_ARGS}
8389
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
8490
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
8591
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}

0 commit comments

Comments
 (0)