如何指定输出可执行文件的名称?

问题描述:

默认情况下,SPM使用与包含其main.swift的模块文件夹相同的名称(大写)构建可执行目标。我如何使用不同的文件名来构建二进制文件?我无法在SPM manual上找到任何说明。如何指定输出可执行文件的名称?

我赞成在swift build的顶端使用另一个构建系统,例如make。目前,swift build不允许定义自定义“挂钩”来实现各种构建自动化任务 - 生成代码,复制资源,部署可执行文件等。一旦使用make,您可以定义任何您想要的任务,特别是重命名二进制文件。

使用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的可执行文件。