Merge pull request #7373 from zisko/put-tests-in-time-out
Add a timeout for lit tests to help diagnose/fail long running tests
diff --git a/tools/SourceKit/tools/sourcekitd/bin/InProc/CMakeLists.txt b/tools/SourceKit/tools/sourcekitd/bin/InProc/CMakeLists.txt
index 8ba7b74..0183361 100644
--- a/tools/SourceKit/tools/sourcekitd/bin/InProc/CMakeLists.txt
+++ b/tools/SourceKit/tools/sourcekitd/bin/InProc/CMakeLists.txt
@@ -1,28 +1,39 @@
set(EXPORTED_SYMBOL_FILE "${SOURCEKITD_SOURCE_DIR}/bin/sourcekitd.exports")
+option(SOURCEKITD_BUILD_STATIC_INPROC
+ "Build sourcekitdInProc as a static library (in addition to a shared one)" OFF)
+
+set(sourcekitdInProc_args
+ sourcekitdInProc.cpp
+ DEPENDS SourceKitSwiftLang sourcekitdAPI
+ LLVM_COMPONENT_DEPENDS support coverage
+)
+
if (SOURCEKIT_INSTALLING_INPROC)
add_sourcekit_framework(sourcekitdInProc
${SOURCEKITD_SOURCE_DIR}/include/sourcekitd/sourcekitd.h
- sourcekitdInProc.cpp
- DEPENDS SourceKitSwiftLang sourcekitdAPI
- LLVM_COMPONENT_DEPENDS support coverage
+ ${sourcekitdInProc_args}
MODULEMAP module.modulemap
INSTALL_IN_COMPONENT sourcekit-inproc
)
set_property(TARGET sourcekitdInProc APPEND_STRING PROPERTY LINK_FLAGS " -fapplication-extension")
else()
add_sourcekit_library(sourcekitdInProc
- sourcekitdInProc.cpp
- DEPENDS SourceKitSwiftLang sourcekitdAPI
- LLVM_COMPONENT_DEPENDS support coverage
+ ${sourcekitdInProc_args}
INSTALL_IN_COMPONENT sourcekit-inproc
-
- # Note that this cannot be a static library due to the way it looks for the
- # shared library path in order to get at the runtime lib path.
SHARED
)
endif()
+# While it is possible to build this as a static library,
+# to get the runtime paths correct, it must be linked into a binary
+# that is in the same directory as the swift library directory.
+if (SOURCEKITD_BUILD_STATIC_INPROC)
+ add_sourcekit_library(sourcekitdInProc_Static
+ ${sourcekitdInProc_args}
+ )
+endif()
+
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
target_link_libraries(sourcekitdInProc PUBLIC BlocksRuntime)
endif()