From 1673b5e8fd3c981a1431d6873bc488581f6dd75b Mon Sep 17 00:00:00 2001 From: Alex Blewitt Date: Tue, 22 Nov 2016 15:32:41 +0000 Subject: [PATCH] Build SourceKit on Linux if dispatch is present SourceKit can be built on Linux if dispatch is available so enable this so it happens by default. Issue: SR-1676 --- CMakeLists.txt | 8 +++++++- tools/SourceKit/CMakeLists.txt | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) 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