Skip to content

Commit 6938f1a

Browse files
authored
Merge pull request swiftlang#21187 from compnerd/runtime-libs
2 parents b773fac + e1eb883 commit 6938f1a

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

CMakeLists.txt

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -898,14 +898,20 @@ if(SWIFT_NEED_EXPLICIT_LIBDISPATCH)
898898
if(CMAKE_C_COMPILER_ID STREQUAL Clang AND
899899
CMAKE_C_COMPILER_VERSION VERSION_GREATER 3.8
900900
OR LLVM_USE_SANITIZER)
901-
set(SWIFT_LIBDISPATCH_C_COMPILER ${CMAKE_C_COMPILER})
902-
set(SWIFT_LIBDISPATCH_CXX_COMPILER ${CMAKE_CXX_COMPILER})
903-
elseif(${CMAKE_SYSTEM_NAME} STREQUAL ${CMAKE_HOST_SYSTEM_NAME})
904-
set(SWIFT_LIBDISPATCH_C_COMPILER ${PATH_TO_CLANG_BUILD}/bin/clang)
905-
set(SWIFT_LIBDISPATCH_CXX_COMPILER ${PATH_TO_CLANG_BUILD}/bin/clang++)
906-
else()
907-
message(SEND_ERROR "libdispatch requires a newer clang compiler (${CMAKE_C_COMPILER_VERSION} < 3.9)")
908-
endif()
901+
set(SWIFT_LIBDISPATCH_C_COMPILER ${CMAKE_C_COMPILER})
902+
set(SWIFT_LIBDISPATCH_CXX_COMPILER ${CMAKE_CXX_COMPILER})
903+
elseif(${CMAKE_SYSTEM_NAME} STREQUAL ${CMAKE_HOST_SYSTEM_NAME})
904+
set(SWIFT_LIBDISPATCH_C_COMPILER ${PATH_TO_CLANG_BUILD}/bin/clang)
905+
set(SWIFT_LIBDISPATCH_CXX_COMPILER ${PATH_TO_CLANG_BUILD}/bin/clang++)
906+
else()
907+
message(SEND_ERROR "libdispatch requires a newer clang compiler (${CMAKE_C_COMPILER_VERSION} < 3.9)")
908+
endif()
909+
910+
if(SWIFT_HOST_VARIANT_SDK STREQUAL Windows)
911+
set(SOURCEKIT_LIBDISPATCH_RUNTIME_DIR bin)
912+
else()
913+
set(SOURCEKIT_LIBDISPATCH_RUNTIME_DIR lib)
914+
endif()
909915

910916
include(ExternalProject)
911917
ExternalProject_Add(libdispatch
@@ -923,6 +929,7 @@ if(SWIFT_NEED_EXPLICIT_LIBDISPATCH)
923929
-DCMAKE_LINKER=${CMAKE_LINKER}
924930
-DCMAKE_RANLIB=${CMAKE_RANLIB}
925931
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
932+
-DBUILD_SHARED_LIBS=YES
926933
-DENABLE_SWIFT=NO
927934
-DENABLE_TESTING=NO
928935
INSTALL_COMMAND
@@ -933,9 +940,9 @@ if(SWIFT_NEED_EXPLICIT_LIBDISPATCH)
933940
STEP_TARGETS
934941
install
935942
BUILD_BYPRODUCTS
936-
<INSTALL_DIR>/lib/${CMAKE_SHARED_LIBRARY_PREFIX}dispatch${CMAKE_SHARED_LIBRARY_SUFFIX}
943+
<INSTALL_DIR>/${SOURCEKIT_LIBDISPATCH_RUNTIME_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}dispatch${CMAKE_SHARED_LIBRARY_SUFFIX}
937944
<INSTALL_DIR>/lib/${CMAKE_IMPORT_LIBRARY_PREFIX}dispatch${CMAKE_IMPORT_LIBRARY_SUFFIX}
938-
<INSTALL_DIR>/lib/${CMAKE_SHARED_LIBRARY_PREFIX}BlocksRuntime${CMAKE_SHARED_LIBRARY_SUFFIX}
945+
<INSTALL_DIR>/${SOURCEKIT_LIBDISPATCH_RUNTIME_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}BlocksRuntime${CMAKE_SHARED_LIBRARY_SUFFIX}
939946
<INSTALL_DIR>/lib/${CMAKE_IMPORT_LIBRARY_PREFIX}BlocksRuntime${CMAKE_IMPORT_LIBRARY_SUFFIX}
940947
BUILD_ALWAYS
941948
1)
@@ -951,7 +958,7 @@ if(SWIFT_NEED_EXPLICIT_LIBDISPATCH)
951958
set_target_properties(dispatch
952959
PROPERTIES
953960
IMPORTED_LOCATION
954-
${install_dir}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}dispatch${CMAKE_SHARED_LIBRARY_SUFFIX}
961+
${install_dir}/${SOURCEKIT_LIBDISPATCH_RUNTIME_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}dispatch${CMAKE_SHARED_LIBRARY_SUFFIX}
955962
IMPORTED_IMPLIB
956963
${install_dir}/lib/${CMAKE_IMPORT_LIBRARY_PREFIX}dispatch${CMAKE_IMPORT_LIBRARY_SUFFIX}
957964
INTERFACE_INCLUDE_DIRECTORIES
@@ -961,7 +968,7 @@ if(SWIFT_NEED_EXPLICIT_LIBDISPATCH)
961968
set_target_properties(BlocksRuntime
962969
PROPERTIES
963970
IMPORTED_LOCATION
964-
${install_dir}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}BlocksRuntime${CMAKE_SHARED_LIBRARY_SUFFIX}
971+
${install_dir}/${SOURCEKIT_LIBDISPATCH_RUNTIME_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}BlocksRuntime${CMAKE_SHARED_LIBRARY_SUFFIX}
965972
IMPORTED_IMPLIB
966973
${install_dir}/lib/${CMAKE_IMPORT_LIBRARY_PREFIX}BlocksRuntime${CMAKE_IMPORT_LIBRARY_SUFFIX}
967974
INTERFACE_INCLUDE_DIRECTORIES

0 commit comments

Comments
 (0)