Target
The basic building block of a Swift package.
Declaration
final class TargetOverview
Each target contains a set of source files that Swift Package Manager compiles into a module or test suite. You can vend targets to other packages by defining products that include the targets.
A target may depend on other targets within the same package and on products vended by the package’s dependencies.
Topics
Naming the Target
Configuring File Locations
Creating a Binary Target
Creating a System Library Target
Creating an Executable Target
executableTarget(name:dependencies:path:exclude:sources:resources:publicHeadersPath:packageAccess:cSettings:cxxSettings:swiftSettings:linkerSettings:plugins:)executableTarget(name:dependencies:path:exclude:sources:resources:publicHeadersPath:cSettings:cxxSettings:swiftSettings:linkerSettings:plugins:)executableTarget(name:dependencies:path:exclude:sources:resources:publicHeadersPath:cSettings:cxxSettings:swiftSettings:linkerSettings:)
Creating a Regular Target
target(name:dependencies:path:exclude:sources:resources:publicHeadersPath:packageAccess:cSettings:cxxSettings:swiftSettings:linkerSettings:plugins:)target(name:dependencies:path:exclude:sources:resources:publicHeadersPath:cSettings:cxxSettings:swiftSettings:linkerSettings:plugins:)target(name:dependencies:path:exclude:sources:resources:publicHeadersPath:cSettings:cxxSettings:swiftSettings:linkerSettings:)target(name:dependencies:path:exclude:sources:publicHeadersPath:cSettings:cxxSettings:swiftSettings:linkerSettings:)target(name:dependencies:path:exclude:sources:publicHeadersPath:)
Creating a Test Target
testTarget(name:dependencies:path:exclude:sources:resources:packageAccess:cSettings:cxxSettings:swiftSettings:linkerSettings:plugins:)testTarget(name:dependencies:path:exclude:sources:resources:cSettings:cxxSettings:swiftSettings:linkerSettings:plugins:)testTarget(name:dependencies:path:exclude:sources:resources:cSettings:cxxSettings:swiftSettings:linkerSettings:)testTarget(name:dependencies:path:exclude:sources:cSettings:cxxSettings:swiftSettings:linkerSettings:)testTarget(name:dependencies:path:exclude:sources:)
Creating a Plugin Target
plugin(name:capability:dependencies:path:exclude:sources:packageAccess:)pluginCapabilityTarget.PluginCapabilityPluginCommandIntentPluginPermissionplugin(name:capability:dependencies:path:exclude:sources:)
Declaring a Dependency Target
Configuring the Target
cSettingscxxSettingsswiftSettingslinkerSettingspluginsBuildConfigurationBuildSettingConditionCSettingCXXSettingSwiftSettingLinkerSettingTarget.PluginUsagepackageAccess