Skip to content

Commit 969e258

Browse files
committed
Add CMake build system for SwiftSyntaxBuilder and _SwiftSyntaxMacros.
1 parent f5596d1 commit 969e258

File tree

3 files changed

+98
-0
lines changed

3 files changed

+98
-0
lines changed

Sources/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,6 @@ add_subdirectory(SwiftSyntax)
1111
add_subdirectory(SwiftDiagnostics)
1212
add_subdirectory(SwiftParser)
1313
add_subdirectory(SwiftOperators)
14+
add_subdirectory(SwiftSyntaxBuilder)
15+
add_subdirectory(_SwiftSyntaxMacros)
1416
add_subdirectory(SwiftCompilerSupport)
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# This source file is part of the Swift.org open source project
2+
#
3+
# Copyright (c) 2014 - 2022 Apple Inc. and the Swift project authors
4+
# Licensed under Apache License v2.0 with Runtime Library Exception
5+
#
6+
# See http://swift.org/LICENSE.txt for license information
7+
# See http://swift.org/CONTRIBUTORS.txt for Swift project authors
8+
9+
add_library(SwiftSyntaxBuilder STATIC
10+
BuildBuildable.swift
11+
HasTrailingComma.swift
12+
Indenter.swift
13+
Syntax+StringInterpolation.swift
14+
15+
ConvenienceInitializers/BinaryOperatorExprConvenienceInitializers.swift
16+
ConvenienceInitializers/BooleanLiteralExprConvenienceInitializers.swift
17+
ConvenienceInitializers/CatchClauseConvenienceInitializer.swift
18+
ConvenienceInitializers/CustomAttributeConvenienceInitializers.swift
19+
ConvenienceInitializers/DictionaryExprConvenienceInitializers.swift
20+
ConvenienceInitializers/FloatLiteralExprConvenienceInitializers.swift
21+
ConvenienceInitializers/FunctionCallExprConvenienceInitializers.swift
22+
ConvenienceInitializers/IdentifierExprConvenienceInitializers.swift
23+
ConvenienceInitializers/IdentifierPatternConvenienceInitializers.swift
24+
ConvenienceInitializers/IfStmtConvenienceInitializers.swift
25+
ConvenienceInitializers/IntegerLiteralExprConvenienceInitializers.swift
26+
ConvenienceInitializers/MemberAccessExprConvenienceInitializers.swift
27+
ConvenienceInitializers/PrefixOperatorExprConvenienceInitializers.swift
28+
ConvenienceInitializers/SimpleTypeIdentifierConvenienceInitializers.swift
29+
ConvenienceInitializers/StringConvenienceInitializers.swift
30+
ConvenienceInitializers/StringLiteralExprConvenienceInitializers.swift
31+
ConvenienceInitializers/TernaryExprConvenienceInitializers.swift
32+
ConvenienceInitializers/TupleExprElementConvenienceInitializers.swift
33+
ConvenienceInitializers/TypeAnnotationConvenienceInitializers.swift
34+
ConvenienceInitializers/VariableDeclConvenienceInitializers.swift
35+
generated/BuildableBaseProtocols.swift
36+
generated/BuildableCollectionNodes.swift
37+
generated/BuildableNodes.swift
38+
generated/ExpressibleAsProtocols.swift
39+
generated/ResultBuildersFile.swift
40+
generated/Token.swift
41+
gyb_generated/SyntaxExpressibleByStringInterpolationConformances.swift
42+
)
43+
44+
target_link_libraries(SwiftSyntaxBuilder PUBLIC
45+
SwiftParser
46+
SwiftSyntax
47+
)
48+
49+
set_property(GLOBAL APPEND PROPERTY SWIFTSYNTAX_EXPORTS SwiftSyntaxBuilder)
50+
51+
# NOTE: workaround for CMake not setting up include flags yet
52+
set_target_properties(SwiftSyntaxBuilder PROPERTIES
53+
INTERFACE_INCLUDE_DIRECTORIES
54+
"${CMAKE_Swift_MODULE_DIRECTORY} ${CMAKE_CURRENT_SOURCE_DIR}")
55+
56+
install(TARGETS SwiftSyntaxBuilder
57+
EXPORT SwiftSyntaxTargets
58+
ARCHIVE DESTINATION lib
59+
LIBRARY DESTINATION lib
60+
RUNTIME DESTINATION bin)
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# This source file is part of the Swift.org open source project
2+
#
3+
# Copyright (c) 2014 - 2022 Apple Inc. and the Swift project authors
4+
# Licensed under Apache License v2.0 with Runtime Library Exception
5+
#
6+
# See http://swift.org/LICENSE.txt for license information
7+
# See http://swift.org/CONTRIBUTORS.txt for Swift project authors
8+
9+
add_library(_SwiftSyntaxMacros STATIC
10+
ExpressionMacro.swift
11+
Macro.swift
12+
MacroEvaluationContext.swift
13+
MacroResult.swift
14+
MacroSystem+Builtin.swift
15+
MacroSystem+Examples.swift
16+
MacroSystem.swift
17+
Syntax+MacroEvaluation.swift
18+
)
19+
20+
target_link_libraries(_SwiftSyntaxMacros PUBLIC
21+
SwiftParser
22+
SwiftSyntaxBuilder
23+
)
24+
25+
set_property(GLOBAL APPEND PROPERTY SWIFTSYNTAX_EXPORTS _SwiftSyntaxMacros)
26+
27+
# NOTE: workaround for CMake not setting up include flags yet
28+
set_target_properties(_SwiftSyntaxMacros PROPERTIES
29+
INTERFACE_INCLUDE_DIRECTORIES
30+
"${CMAKE_Swift_MODULE_DIRECTORY} ${CMAKE_CURRENT_SOURCE_DIR}")
31+
32+
install(TARGETS _SwiftSyntaxMacros
33+
EXPORT SwiftSyntaxTargets
34+
ARCHIVE DESTINATION lib
35+
LIBRARY DESTINATION lib
36+
RUNTIME DESTINATION bin)

0 commit comments

Comments
 (0)