默认情况下,SPM使用与包含其main.swift
的模块文件夹相同的名称(大写)构建可执行目标。如何使用不同的文件名构建二进制文件?我找不到关于SPM manual的任何说明。
使用Swift 4,给定使用swift package init --type executable
创建的DemoProject,对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
的可执行文件。
我赞成在make
之上使用另一个构建系统,例如swift build
。目前,swift build
不允许定义自定义“钩子”来实现各种构建自动化任务 - 生成代码,复制资源,部署可执行文件等。一旦使用make
,您可以定义您想要的任何任务,特别是重命名二进制文件。