@@ -898,14 +898,20 @@ if(SWIFT_NEED_EXPLICIT_LIBDISPATCH)
898
898
if (CMAKE_C_COMPILER_ID STREQUAL Clang AND
899
899
CMAKE_C_COMPILER_VERSION VERSION_GREATER 3.8
900
900
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 ()
909
915
910
916
include (ExternalProject )
911
917
ExternalProject_Add (libdispatch
@@ -923,6 +929,7 @@ if(SWIFT_NEED_EXPLICIT_LIBDISPATCH)
923
929
-DCMAKE_LINKER=${CMAKE_LINKER}
924
930
-DCMAKE_RANLIB=${CMAKE_RANLIB}
925
931
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
932
+ -DBUILD_SHARED_LIBS=YES
926
933
-DENABLE_SWIFT=NO
927
934
-DENABLE_TESTING=NO
928
935
INSTALL_COMMAND
@@ -933,9 +940,9 @@ if(SWIFT_NEED_EXPLICIT_LIBDISPATCH)
933
940
STEP_TARGETS
934
941
install
935
942
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}
937
944
<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}
939
946
<INSTALL_DIR>/lib/${CMAKE_IMPORT_LIBRARY_PREFIX}BlocksRuntime${CMAKE_IMPORT_LIBRARY_SUFFIX}
940
947
BUILD_ALWAYS
941
948
1 )
@@ -951,7 +958,7 @@ if(SWIFT_NEED_EXPLICIT_LIBDISPATCH)
951
958
set_target_properties (dispatch
952
959
PROPERTIES
953
960
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}
955
962
IMPORTED_IMPLIB
956
963
${install_dir} /lib/${CMAKE_IMPORT_LIBRARY_PREFIX}dispatch${CMAKE_IMPORT_LIBRARY_SUFFIX}
957
964
INTERFACE_INCLUDE_DIRECTORIES
@@ -961,7 +968,7 @@ if(SWIFT_NEED_EXPLICIT_LIBDISPATCH)
961
968
set_target_properties (BlocksRuntime
962
969
PROPERTIES
963
970
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}
965
972
IMPORTED_IMPLIB
966
973
${install_dir} /lib/${CMAKE_IMPORT_LIBRARY_PREFIX}BlocksRuntime${CMAKE_IMPORT_LIBRARY_SUFFIX}
967
974
INTERFACE_INCLUDE_DIRECTORIES
0 commit comments