6
後,假設我有以下目錄結構的遊戲:將文件複製到目標目錄建立
/src
/resources
Cargo.toml
我想cargo build
在同一目錄中的文件複製在resources
目錄並粘貼可執行文件。
我知道使用自定義構建腳本可以做到這一點,但這似乎是一個值得特殊待遇的常見情況。所以問題是:貨物是否提供了將文件複製到目標目錄的標準方式(僅使用Cargo.toml
)?
後,假設我有以下目錄結構的遊戲:將文件複製到目標目錄建立
/src
/resources
Cargo.toml
我想cargo build
在同一目錄中的文件複製在resources
目錄並粘貼可執行文件。
我知道使用自定義構建腳本可以做到這一點,但這似乎是一個值得特殊待遇的常見情況。所以問題是:貨物是否提供了將文件複製到目標目錄的標準方式(僅使用Cargo.toml
)?
不,它沒有。
您可以使用build scripts移動文件,但這些文件是在您的箱子生成之前運行的,因爲它們的唯一目的是準備環境(例如,編譯C庫和墊片)。
如果您認爲這是一項重要功能,您可以在Cargo issue tracker中打開功能請求。
或者,你可以寫一個makefile或shell腳本,將所有參數轉發給貨,然後手動複製目錄:
#!/bin/bash
DIR="$(dirname "$0")"
if cargo "[email protected]"; then
[ -d "$DIR/target/debug" ] && cp -r "$DIR/resources" "$DIR/target/debug/resources"
[ -d "$DIR/target/release" ] && cp -r "$DIR/resources" "$DIR/target/release/resources"
fi
現在你可以運行貨樣
% ./make.sh build
我打開你提出的問題。這裏是鏈接,如果任何人有興趣:https://github.com/rust-lang/cargo/issues/1759 – aochagavia