默认情况下,SPM 使用与包含其main.swift
. 如何让它用不同的文件名构建二进制文件?我在SPM 手册上找不到任何说明。
问问题
1065 次
3 回答
5
使用 Swift 4,给定 DemoProject 创建用swift package init --type executable
,对 Package.swift 进行更改(添加products
部分)。
// swift-tools-version:4.0
import PackageDescription
let package = Package(
name: "DemoProject",
products: [
.executable(name: "demo", targets: ["DemoProject"]),
],
dependencies: [],
targets: [
.target(
name: "DemoProject",
dependencies: []),
]
)
这将创建一个名为demo
.
于 2017-12-14T15:15:07.780 回答
0
更改可执行文件名称
在 SPM 5.4 中,您可以executable
在products
.
.executable(name: "ExecutableName", targets: ["ExecutableTargetName"])
直接构建可执行产品
如果您想直接构建可执行文件,请尝试命令swift build --product ExecutableName
您也可以使用--show-bin-path
参数获取构建结果的位置
例如swift build --product ExecutableName --show-bin-path
演示包.swift
// swift-tools-version:5.4
import PackageDescription
let package = Package(
name: "PackageName",
platforms: [
.iOS(.v11),
.macOS(.v10_15),
],
products: [
.library(name: "LibraryName", targets: ["LibraryTarget"]),
.executable(name: "ExecutableName", targets: ["ExecutableTargetName"])
],
dependencies: [...],
targets: [
.target(
name: "LibraryTarget",
dependencies: [...],
path: "Sources/..."
),
.executableTarget(
name: "ExecutableTargetName",
dependencies: [...],
path: "Sources/..."
),
]
)
于 2021-07-23T09:56:14.940 回答
-2
我赞成使用另一个构建系统,例如make
,在swift build
. 目前,swift build
不允许定义自定义“挂钩”来实现各种构建自动化任务 - 生成代码、复制资源、部署可执行文件等。一旦使用make
,您就可以定义所需的任何任务,特别是重命名二进制文件。
于 2017-03-25T07:48:56.533 回答