File tree Expand file tree Collapse file tree 2 files changed +29
-1
lines changed Expand file tree Collapse file tree 2 files changed +29
-1
lines changed Original file line number Diff line number Diff line change @@ -302,8 +302,14 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "")
302
302
endif ()
303
303
if ("${CMAKE_SYSTEM_NAME} " STREQUAL "Darwin" )
304
304
set (SWIFT_BUILD_SOURCEKIT_default TRUE )
305
+ elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "Linux" )
306
+ if (EXISTS ${SWIFT_PATH_TO_LIBDISPATCH_SOURCE} )
307
+ set (SWIFT_BUILD_SOURCEKIT_default TRUE )
308
+ else ()
309
+ set (SWIFT_BUILD_SOURCEKIT_default FALSE )
310
+ endif ()
305
311
else ()
306
- set (SWIFT_BUILD_SOURCEKIT_default FALSE )
312
+ set (SWIFT_BUILD_SOURCEKIT_default FALSE )
307
313
endif ()
308
314
option (SWIFT_BUILD_SOURCEKIT
309
315
"Build SourceKit"
Original file line number Diff line number Diff line change @@ -200,6 +200,10 @@ macro(add_sourcekit_library name)
200
200
endif ()
201
201
endif ()
202
202
203
+ if (SWIFT_BUILD_SOURCEKIT AND "${CMAKE_SYSTEM_NAME} " STREQUAL "Linux" )
204
+ add_dependencies (${name} needs-libdispatch )
205
+ endif ()
206
+
203
207
if ("${SOURCEKITLIB_INSTALL_IN_COMPONENT} " STREQUAL "" )
204
208
if (SOURCEKITLIB_SHARED )
205
209
set (SOURCEKITLIB_INSTALL_IN_COMPONENT tools )
@@ -508,6 +512,24 @@ include_directories(BEFORE
508
512
)
509
513
510
514
if ("${CMAKE_SYSTEM_NAME} " STREQUAL "Linux" )
515
+ if (SWIFT_BUILD_SOURCEKIT )
516
+ add_custom_command (
517
+ OUTPUT "${SWIFT_PATH_TO_LIBDISPATCH_BUILD} /src/.libs/libdispatch.so"
518
+ COMMAND /bin/sh ${SWIFT_PATH_TO_LIBDISPATCH_SOURCE} /autogen.sh
519
+ COMMAND /bin/sh ${SWIFT_PATH_TO_LIBDISPATCH_SOURCE} /configure
520
+ COMMAND /usr/bin/make
521
+ COMMAND /bin/mkdir -p ${SWIFT_PATH_TO_LIBDISPATCH_BUILD} /src/.libs/
522
+ COMMAND /bin/cp ${SWIFT_PATH_TO_LIBDISPATCH_SOURCE} /src/.libs/libdispatch.so ${SWIFT_PATH_TO_LIBDISPATCH_BUILD} /src/.libs/libdispatch.so
523
+ COMMAND /usr/bin/make distclean
524
+ WORKING_DIRECTORY ${SWIFT_PATH_TO_LIBDISPATCH_SOURCE}
525
+ COMMENT "Generating libdispatch.so"
526
+ USES_TERMINAL
527
+ )
528
+ add_custom_target (needs-libdispatch
529
+ DEPENDS "${SWIFT_PATH_TO_LIBDISPATCH_BUILD} /src/.libs/libdispatch.so"
530
+ )
531
+ endif ()
532
+
511
533
include_directories (AFTER ${SWIFT_PATH_TO_LIBDISPATCH_SOURCE} )
512
534
513
535
add_library (dispatch SHARED IMPORTED )
You can’t perform that action at this time.
0 commit comments