Static Methodswift-package-manager 6.0.1PackageDescription
executableTarget(name:dependencies:path:exclude:sources:resources:publicHeadersPath:cSettings:cxxSettings:swiftSettings:linkerSettings:plugins:)
Creates an executable target.
Target.swift:686This declaration was obsoleted in SwiftPM 5.9.
static func executableTarget(name: String, dependencies: [Dependency] = [], path: String? = nil, exclude: [String] = [], sources: [String]? = nil, resources: [Resource]? = nil, publicHeadersPath: String? = nil, cSettings: [CSetting]? = nil, cxxSettings: [CXXSetting]? = nil, swiftSettings: [SwiftSetting]? = nil, linkerSettings: [LinkerSetting]? = nil, plugins: [PluginUsage]? = nil) -> Target
Parameters
- name
The name of the target.
- dependencies
The dependencies of the target. A dependency can be another target in the package or a product from a package dependency.
- path
The custom path for the target. By default, the Swift Package Manager requires a target’s sources to reside at predefined search paths; for example,
[PackageRoot]/Sources/[TargetName]
. Don’t escape the package root; for example, values like../Foo
or/Foo
are invalid.- exclude
A list of paths to files or directories that the Swift Package Manager shouldn’t consider to be source or resource files. A path is relative to the target’s directory. This parameter has precedence over the
sources
parameter.- sources
An explicit list of source files. If you provide a path to a directory, the Swift Package Manager searches for valid source files recursively.
- resources
An explicit list of resources files.
- publicHeadersPath
The directory containing public headers of a C-family library target.
- cSettings
The C settings for this target.
- cxxSettings
The C++ settings for this target.
- swiftSettings
The Swift settings for this target.
- linkerSettings
The linker settings for this target.
- plugins
The plug-ins used by this target.
An executable target can contain either Swift or C-family source files, but not both. It contains code that is built as an executable module that can be used as the main target of an executable product. The target is expected to either have a source file named main.swift
, main.m
, main.c
, or main.cpp
, or a source file that contains the @main
keyword.
See also
static func executableTarget(name: String, dependencies: [Dependency], path: String?, exclude: [String], sources: [String]?, resources: [Resource]?, publicHeadersPath: String?, cSettings: [CSetting]?, cxxSettings: [CXXSetting]?, swiftSettings: [SwiftSetting]?, linkerSettings: [LinkerSetting]?
) -> Target Creates an executable target.
Other members in extension
Types
enum Dependency
The different types of a target’s dependency on another entity.
enum PluginCapability
The different types of capability that a plug-in can provide.
enum PluginUsage
A plug-in used in a target.
enum TargetType
The different types of a target.
Type members
static func binaryTarget(name: String, path: String
) -> Target Creates a binary target that references an artifact on disk.
static func binaryTarget(name: String, url: String, checksum: String
) -> Target Creates a binary target that references a remote artifact.
static func executableTarget(name: String, dependencies: [Dependency], path: String?, exclude: [String], sources: [String]?, resources: [Resource]?, publicHeadersPath: String?, packageAccess: Bool, cSettings: [CSetting]?, cxxSettings: [CXXSetting]?, swiftSettings: [SwiftSetting]?, linkerSettings: [LinkerSetting]?, plugins: [PluginUsage]?
) -> Target Creates an executable target.
static func plugin(name: String, capability: PluginCapability, dependencies: [Dependency], path: String?, exclude: [String], sources: [String]?, packageAccess: Bool
) -> Target Defines a new package plug-in target.
static func systemLibrary(name: String, path: String?, pkgConfig: String?, providers: [SystemPackageProvider]?
) -> Target Creates a system library target.
static func target(name: String, dependencies: [Dependency], path: String?, exclude: [String], sources: [String]?, resources: [Resource]?, publicHeadersPath: String?, packageAccess: Bool, cSettings: [CSetting]?, cxxSettings: [CXXSetting]?, swiftSettings: [SwiftSetting]?, linkerSettings: [LinkerSetting]?, plugins: [PluginUsage]?
) -> Target Creates a regular target.
static func testTarget(name: String, dependencies: [Dependency], path: String?, exclude: [String], sources: [String]?, resources: [Resource]?, packageAccess: Bool, cSettings: [CSetting]?, cxxSettings: [CXXSetting]?, swiftSettings: [SwiftSetting]?, linkerSettings: [LinkerSetting]?, plugins: [PluginUsage]?
) -> Target Creates a test target.
Show obsolete interfaces (9)
Hide obsolete interfaces
static func plugin(name: String, capability: PluginCapability, dependencies: [Dependency], path: String?, exclude: [String], sources: [String]?
) -> Target Defines a new package plugin target.
static func target(name: String, dependencies: [Dependency], path: String?, exclude: [String], sources: [String]?, publicHeadersPath: String?
) -> Target Creates a library or executable target.
static func target(name: String, dependencies: [Dependency], path: String?, exclude: [String], sources: [String]?, publicHeadersPath: String?, cSettings: [CSetting]?, cxxSettings: [CXXSetting]?, swiftSettings: [SwiftSetting]?, linkerSettings: [LinkerSetting]?
) -> Target Creates a library or executable target.
static func target(name: String, dependencies: [Dependency], path: String?, exclude: [String], sources: [String]?, resources: [Resource]?, publicHeadersPath: String?, cSettings: [CSetting]?, cxxSettings: [CXXSetting]?, swiftSettings: [SwiftSetting]?, linkerSettings: [LinkerSetting]?
) -> Target Creates a regular target.
static func target(name: String, dependencies: [Dependency], path: String?, exclude: [String], sources: [String]?, resources: [Resource]?, publicHeadersPath: String?, cSettings: [CSetting]?, cxxSettings: [CXXSetting]?, swiftSettings: [SwiftSetting]?, linkerSettings: [LinkerSetting]?, plugins: [PluginUsage]?
) -> Target Creates a regular target.
static func testTarget(name: String, dependencies: [Dependency], path: String?, exclude: [String], sources: [String]?
) -> Target Creates a test target.
static func testTarget(name: String, dependencies: [Dependency], path: String?, exclude: [String], sources: [String]?, cSettings: [CSetting]?, cxxSettings: [CXXSetting]?, swiftSettings: [SwiftSetting]?, linkerSettings: [LinkerSetting]?
) -> Target Creates a test target.
static func testTarget(name: String, dependencies: [Dependency], path: String?, exclude: [String], sources: [String]?, resources: [Resource]?, cSettings: [CSetting]?, cxxSettings: [CXXSetting]?, swiftSettings: [SwiftSetting]?, linkerSettings: [LinkerSetting]?
) -> Target Creates a test target.
static func testTarget(name: String, dependencies: [Dependency], path: String?, exclude: [String], sources: [String]?, resources: [Resource]?, cSettings: [CSetting]?, cxxSettings: [CXXSetting]?, swiftSettings: [SwiftSetting]?, linkerSettings: [LinkerSetting]?, plugins: [PluginUsage]?
) -> Target Creates a test target.
Show system interfaces (1)
Hide system interfaces
init(name: String, dependencies: [Dependency], path: String?, url: String?, exclude: [String], sources: [String]?, resources: [Resource]?, publicHeadersPath: String?, type: TargetType, packageAccess: Bool, pkgConfig: String?, providers: [SystemPackageProvider]?, pluginCapability: PluginCapability?, cSettings: [CSetting]?, cxxSettings: [CXXSetting]?, swiftSettings: [SwiftSetting]?, linkerSettings: [LinkerSetting]?, checksum: String?, plugins: [PluginUsage]?
) Construct a target.
Instance members
var cSettings: [CSetting]?
The target’s C build settings.
var checksum: String?
The checksum for the archive file that contains the referenced binary artifact.
var cxxSettings: [CXXSetting]?
The target’s C++ build settings.
var dependencies: [Dependency]
The target’s dependencies on other entities inside or outside the package.
var exclude: [String]
The paths to source and resource files that you don’t want to include in the target.
var isTest: Bool
A Boolean value that indicates whether this is a test target.
var linkerSettings: [LinkerSetting]?
The target’s linker settings.
var name: String
The name of the target.
let packageAccess: Bool
If true, access to package declarations from other targets in the package is allowed.
var path: String?
The path of the target, relative to the package root.
let pkgConfig: String?
The name of the package configuration file, without extension, for the system library target.
var pluginCapability: PluginCapability?
The capability provided by a package plug-in target.
var plugins: [PluginUsage]?
The uses of package plug-ins by the target.
let providers: [SystemPackageProvider]?
The providers array for a system library target.
var publicHeadersPath: String?
The path to the directory that contains public headers of a C-family target.
var resources: [Resource]?
The explicit list of resource files in the target.
var sources: [String]?
The source files in this target.
var swiftSettings: [SwiftSetting]?
The target’s Swift build settings.
let type: TargetType
The type of the target.
var url: String?
The URL of a binary target.