diff --git a/CMakeLists.txt b/CMakeLists.txt index 54eaef160f118..93fb005b4f4b6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -363,8 +363,14 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "") endif() if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") set(SWIFT_BUILD_SOURCEKIT_default TRUE) +elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") + if(EXISTS ${SWIFT_PATH_TO_LIBDISPATCH_SOURCE}) + set(SWIFT_BUILD_SOURCEKIT_default TRUE) + else() + set(SWIFT_BUILD_SOURCEKIT_default FALSE) + endif() else() - set(SWIFT_BUILD_SOURCEKIT_default FALSE) + set(SWIFT_BUILD_SOURCEKIT_default FALSE) endif() option(SWIFT_BUILD_SOURCEKIT "Build SourceKit" diff --git a/tools/SourceKit/CMakeLists.txt b/tools/SourceKit/CMakeLists.txt index cc1a85b425649..e4d8c934c2b21 100644 --- a/tools/SourceKit/CMakeLists.txt +++ b/tools/SourceKit/CMakeLists.txt @@ -509,7 +509,7 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") add_custom_command( OUTPUT "${SWIFT_PATH_TO_LIBDISPATCH_BUILD}/src/.libs/libdispatch.so" COMMAND autoreconf -fvi - COMMAND /usr/bin/env "CC=${PATH_TO_CLANG_BUILD}/bin/clang" "CXX=${PATH_TO_CLANG_BUILD}/bin/clang++" ${SWIFT_PATH_TO_LIBDISPATCH_SOURCE}/configure --prefix="${CMAKE_INSTALL_PREFIX}" + COMMAND /usr/bin/env "CC=${PATH_TO_CLANG_BUILD}/bin/clang" "CXX=${PATH_TO_CLANG_BUILD}/bin/clang++" "OBJC=${PATH_TO_CLANG_BUILD}/bin/clang" ${SWIFT_PATH_TO_LIBDISPATCH_SOURCE}/configure --prefix="${CMAKE_INSTALL_PREFIX}" COMMAND /usr/bin/make COMMAND /bin/mkdir -p ${SWIFT_PATH_TO_LIBDISPATCH_BUILD}/src/.libs/ COMMAND /bin/cp ${SWIFT_PATH_TO_LIBDISPATCH_SOURCE}/src/.libs/libdispatch.so ${SWIFT_PATH_TO_LIBDISPATCH_BUILD}/src/.libs/libdispatch.so