@@ -1162,23 +1162,6 @@ endif()
1162
1162
swift_get_host_triple (SWIFT_HOST_TRIPLE )
1163
1163
set (SWIFT_HOST_MODULE_TRIPLE "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK} _ARCH_${SWIFT_HOST_VARIANT_ARCH} _MODULE}" )
1164
1164
set (SWIFT_HOST_LIBRARIES_DEST_DIR "${CMAKE_LIBRARY_OUTPUT_DIRECTORY} /swift/host" )
1165
- set (SWIFT_HOST_RUNTIME_DEST_DIR "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} " )
1166
- if (SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD|FREEBSD" )
1167
- set (SWIFT_HOST_LIBRARIES_RPATH "$ORIGIN;$ORIGIN/../${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK} _LIB_SUBDIR}" )
1168
- endif ()
1169
- if (SWIFT_BUILD_SWIFT_SYNTAX )
1170
- if (NOT EXISTS "${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE} " )
1171
- message (SEND_ERROR "swift-syntax is required to build the Swift compiler. Please run update-checkout or specify SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE" )
1172
- endif ()
1173
-
1174
- set (BUILD_SHARED_LIBS_OLD "${BUILD_SHARED_LIBS} " )
1175
- set (BUILD_SHARED_LIBS ON )
1176
- FetchContent_Declare (SwiftSyntax
1177
- SOURCE_DIR "${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE} "
1178
- )
1179
- FetchContent_MakeAvailable (SwiftSyntax )
1180
- set (BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS_OLD} " )
1181
- endif ()
1182
1165
1183
1166
if (SWIFT_INCLUDE_TOOLS )
1184
1167
message (STATUS "Building host Swift tools for ${SWIFT_HOST_VARIANT_SDK} ${SWIFT_HOST_VARIANT_ARCH} " )
@@ -1332,6 +1315,33 @@ endif()
1332
1315
add_subdirectory (include )
1333
1316
1334
1317
if (SWIFT_INCLUDE_TOOLS )
1318
+ # Include 'swift-syntax'.
1319
+ # This is a function because we want to set some 'CMAKE_*' variables temporarily.'
1320
+ # TODO: Replace this with 'block()' after CMake 3.25
1321
+ function (include_swift_syntax )
1322
+ if (NOT SWIFT_BUILD_SWIFT_SYNTAX )
1323
+ return ()
1324
+ endif ()
1325
+ if (NOT EXISTS "${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE} " )
1326
+ message (SEND_ERROR "swift-syntax is required to build the Swift compiler. Please run update-checkout or specify SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE" )
1327
+ return ()
1328
+ endif ()
1329
+
1330
+ set (BUILD_SHARED_LIBS ON )
1331
+ # All libraries in 'swift-syntax' goes to 'lib/swift/host'.
1332
+ set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${SWIFT_HOST_LIBRARIES_DEST_DIR} " )
1333
+ set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${SWIFT_HOST_LIBRARIES_DEST_DIR} " )
1334
+ if (SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD|FREEBSD" )
1335
+ set (SWIFT_HOST_LIBRARIES_RPATH "$ORIGIN;$ORIGIN/../${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK} _LIB_SUBDIR}" )
1336
+ endif ()
1337
+
1338
+ FetchContent_Declare (SwiftSyntax
1339
+ SOURCE_DIR "${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE} "
1340
+ )
1341
+ FetchContent_MakeAvailable (SwiftSyntax )
1342
+ endfunction ()
1343
+ include_swift_syntax ()
1344
+
1335
1345
add_subdirectory (lib )
1336
1346
1337
1347
# SwiftCompilerSources must come before "tools".
0 commit comments