Skip to content

Commit 58a2087

Browse files
committed
build: remove the requirement to checkout swift-syntax
In the case that a shared copy of swift-syntax is being used to build, allow the sources to be unavailable. If the user specifies `SWIFTPM_PATH_TO_SWIFT_SYNTAX_SOURCE`, that will be preferred, otherwise, we fallback to the upstream git repository.
1 parent d59191a commit 58a2087

File tree

2 files changed

+10
-12
lines changed

2 files changed

+10
-12
lines changed
Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
1-
SET(SWIFTPM_PATH_TO_SWIFT_SYNTAX_SOURCE ${CMAKE_SOURCE_DIR}/../swift-syntax)
2-
message(STATUS "swift-syntax path: ${SWIFTPM_PATH_TO_SWIFT_SYNTAX_SOURCE}")
3-
41
include(FetchContent)
52

6-
if(NOT EXISTS "${SWIFTPM_PATH_TO_SWIFT_SYNTAX_SOURCE}")
7-
message(SEND_ERROR "swift-syntax is required to build SwiftPM. Please run update-checkout or specify SWIFTPM_PATH_TO_SWIFT_SYNTAX_SOURCE")
8-
return()
9-
endif()
10-
11-
# Build swift-syntax libraries with FetchContent.
12-
# set(CMAKE_Swift_COMPILER_TARGET ${SWIFT_HOST_TRIPLE})
133
set(BUILD_SHARED_LIBS OFF)
144

15-
file(TO_CMAKE_PATH "${SWIFTPM_PATH_TO_SWIFT_SYNTAX_SOURCE}" swift_syntax_path)
16-
FetchContent_Declare(SwiftSyntax SOURCE_DIR "${swift_syntax_path}")
5+
if(DEFINED SWIFTPM_PATH_TO_SWIFT_SYNTAX_SOURCE)
6+
file(TO_CMAKE_PATH "${SWIFTPM_PATH_TO_SWIFT_SYNTAX_SOURCE}" swift_syntax_path)
7+
FetchContent_Declare(SwiftSyntax
8+
SOURCE_DIR "${swift_syntax_path}")
9+
else()
10+
FetchContent_Declare(SwiftSyntax
11+
GIT_REPOSITORY https://github.com/apple/swift-syntax
12+
GIT_TAG main)
13+
endif()
1714
FetchContent_MakeAvailable(SwiftSyntax)

Utilities/bootstrap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -608,6 +608,7 @@ def build_swiftpm_with_cmake(args):
608608
"-DSwiftCrypto_DIR=" + os.path.join(args.build_dirs["swift-crypto"], "cmake/modules"),
609609
"-DSwiftASN1_DIR=" + os.path.join(args.build_dirs["swift-asn1"], "cmake/modules"),
610610
"-DSwiftCertificates_DIR=" + os.path.join(args.build_dirs["swift-certificates"], "cmake/modules"),
611+
"-DSwiftSyntax_DIR=" + os.path.join(args.build_dirs["swift-syntax"], "cmake/modules"),
611612
]
612613

613614
if platform.system() == 'Darwin':

0 commit comments

Comments
 (0)