Static Methodswift-package-manager 6.0.1PackageDescription
systemLibrary(name:path:pkgConfig:providers:)
Creates a system library target.
Target.swift:1038static func systemLibrary(name: String, path: String? = nil, pkgConfig: String? = nil, providers: [SystemPackageProvider]? = nil) -> Target
Parameters
- name
The name of the target.
- path
The custom path for the target. By default, a targets sources are expected to be located in the predefined search paths, such as
[PackageRoot]/Sources/[TargetName]
. Do not escape the package root; that is, values like../Foo
or/Foo
are invalid.- pkgConfig
The name of the
pkg-config
file for this system library.- providers
The providers for this system library.
Use system library targets to adapt a library installed on the system to work with Swift packages. Such libraries are generally installed by system package managers (such as Homebrew and apt-get) and exposed to Swift packages by providing a modulemap
file along with other metadata such as the library’s pkgConfig
name.
See also
let pkgConfig: String?
The name of the package configuration file, without extension, for the system library target.
let providers: [SystemPackageProvider]?
The providers array for a system library 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 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 (11)
Hide obsolete interfaces
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.
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]?, plugins: [PluginUsage]?
) -> Target Creates an executable target.
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.
var pluginCapability: PluginCapability?
The capability provided by a package plug-in target.
var plugins: [PluginUsage]?
The uses of package plug-ins by the 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.