From b6ad32e39c9faa98316ba8efc39c65a75a6ea1d7 Mon Sep 17 00:00:00 2001 From: Ben Barham Date: Thu, 25 Apr 2024 16:57:51 -0700 Subject: [PATCH] Cleanup addition of swift-syntax --- BuildSupport/SwiftSyntax/CMakeLists.txt | 24 +++++++++++---------- Sources/PackageModelSyntax/CMakeLists.txt | 26 ++++++----------------- 2 files changed, 19 insertions(+), 31 deletions(-) diff --git a/BuildSupport/SwiftSyntax/CMakeLists.txt b/BuildSupport/SwiftSyntax/CMakeLists.txt index 09f4cd51d2c..e1d9decb5f3 100644 --- a/BuildSupport/SwiftSyntax/CMakeLists.txt +++ b/BuildSupport/SwiftSyntax/CMakeLists.txt @@ -1,14 +1,16 @@ include(FetchContent) -set(BUILD_SHARED_LIBS OFF) - -if(DEFINED SWIFTPM_PATH_TO_SWIFT_SYNTAX_SOURCE) - file(TO_CMAKE_PATH "${SWIFTPM_PATH_TO_SWIFT_SYNTAX_SOURCE}" swift_syntax_path) - FetchContent_Declare(SwiftSyntax - SOURCE_DIR "${swift_syntax_path}") -else() - FetchContent_Declare(SwiftSyntax - GIT_REPOSITORY https://github.com/apple/swift-syntax - GIT_TAG main) +find_package(SwiftSyntax CONFIG GLOBAL) +if(NOT SwiftSyntax_FOUND) + set(SWIFT_SYNTAX_INSTALL_TARGETS YES) + if(DEFINED SWIFTPM_PATH_TO_SWIFT_SYNTAX_SOURCE) + file(TO_CMAKE_PATH "${SWIFTPM_PATH_TO_SWIFT_SYNTAX_SOURCE}" swift_syntax_path) + FetchContent_Declare(SwiftSyntax + SOURCE_DIR "${swift_syntax_path}") + else() + FetchContent_Declare(SwiftSyntax + GIT_REPOSITORY https://github.com/apple/swift-syntax + GIT_TAG main) + endif() + FetchContent_MakeAvailable(SwiftSyntax) endif() -FetchContent_MakeAvailable(SwiftSyntax) diff --git a/Sources/PackageModelSyntax/CMakeLists.txt b/Sources/PackageModelSyntax/CMakeLists.txt index 556fd0c619b..cfab869efc1 100644 --- a/Sources/PackageModelSyntax/CMakeLists.txt +++ b/Sources/PackageModelSyntax/CMakeLists.txt @@ -24,12 +24,12 @@ target_link_libraries(PackageModelSyntax PUBLIC PackageLoading PackageModel - SwiftBasicFormat - SwiftDiagnostics - SwiftIDEUtils - SwiftParser - SwiftSyntax - SwiftSyntaxBuilder + SwiftSyntax::SwiftBasicFormat + SwiftSyntax::SwiftDiagnostics + SwiftSyntax::SwiftIDEUtils + SwiftSyntax::SwiftParser + SwiftSyntax::SwiftSyntax + SwiftSyntax::SwiftSyntaxBuilder ) # NOTE(compnerd) workaround for CMake not setting up include flags yet @@ -41,17 +41,3 @@ install(TARGETS PackageModelSyntax LIBRARY DESTINATION lib RUNTIME DESTINATION bin) set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS PackageModelSyntax) - -set(SWIFT_SYNTAX_MODULES - SwiftBasicFormat - SwiftParser - SwiftParserDiagnostics - SwiftDiagnostics - SwiftSyntax - SwiftSyntaxBuilder - SwiftIDEUtils -) -export(TARGETS ${SWIFT_SYNTAX_MODULES} - NAMESPACE SPMSwiftSyntax:: - FILE ${CMAKE_BINARY_DIR}/cmake/modules/SwiftSyntaxConfig.cmake - EXPORT_LINK_INTERFACE_LIBRARIES) \ No newline at end of file