#cargo-toml #cargo-build #cargo-subcommand #build-dependencies #top-level #depend #linux

app cargo-vcpkg

A cargo 子命令,用于从 Cargo.toml 中的元数据条目构建顶级 crate 及其依赖的 crate 的 vcpkg 树

8 个版本

0.1.7 2022 年 11 月 11 日
0.1.6 2021 年 6 月 16 日
0.1.5 2020 年 6 月 11 日
0.1.0 2020 年 5 月 31 日

#95Cargo 插件

Download history 1008/week @ 2024-03-13 413/week @ 2024-03-20 279/week @ 2024-03-27 348/week @ 2024-04-03 230/week @ 2024-04-10 574/week @ 2024-04-17 354/week @ 2024-04-24 392/week @ 2024-05-01 362/week @ 2024-05-08 337/week @ 2024-05-15 234/week @ 2024-05-22 155/week @ 2024-05-29 265/week @ 2024-06-05 459/week @ 2024-06-12 415/week @ 2024-06-19 307/week @ 2024-06-26

1,476 每月下载量

MIT/Apache

40KB
864

cargo-vcpkg Windows macOS Linux

变更日志

此命令 cargo vcpkg 将创建一个 vcpkg 树,并安装构建的 crate 和其依赖的 crate 中的 Cargo.toml 文件中指定的包。使用 vcpkg crate 的 crate 将能够自动找到库。

示例

[package.metadata.vcpkg]
git = "https://github.com/microsoft/vcpkg"
rev = "4c1db68"
dependencies = ["pkg1", "pkg2"]
$ cargo install cargo-vcpkg
$ cargo vcpkg build
    Fetching vcpkg
    Checkout rev/tag/branch 4c1db68
   Compiling pkg1, pkg2
    Finished in 1.93s
$ cargo build
[...]

按目标配置

也可以为每个目标安装不同集合的包,并覆盖要安装的 vcpkg 三联组。

[package.metadata.vcpkg]
git = "https://github.com/microsoft/vcpkg"
rev = "4c1db68"
dependencies = ["sdl2"]

[package.metadata.vcpkg.target]
x86_64-apple-darwin = { dependencies = ["sdl2", "sdl2-gfx" ] }
x86_64-unknown-linux-gnu = { dependencies = ["sdl2", "opencv"] }
x86_64-pc-windows-msvc = { triplet = "x64-windows-static", dependencies = ["sdl2", "zeromq"] }

开发依赖

设置 dev-dependencies 键允许构建此 crate 中二进制文件所需的库。如果 cargo vcpkg 在依赖于此 crate 的 crate 上运行,则仅安装 dependencies 键中的包。

[package.metadata.vcpkg]
git = "https://github.com/microsoft/vcpkg"
rev = "4c1db68"
dependencies = ["sdl2"]
dev-dependencies = ["sdl2-image"]

[package.metadata.vcpkg.target]
x86_64-apple-darwin = { dev-dependencies = ["sdl2-gfx" ] }

覆盖三联组

设置 overlay-triplets-path 键可以允许你在构建中使用自定义的 triplet 文件。此键的值应该是包含 triplet 文件的目录路径。这些文件将通过 vcpkg 构建的 --overlay-triplets 参数提供。

[package.metadata.vcpkg]
git = "https://github.com/microsoft/vcpkg"
rev = "4c1db68"
dependencies = ["sdl2"]
overlay-triplets-path = "support/custom-triplets"

[package.metadata.vcpkg.target]
x86_64-pc-windows-msvc = { triplet = "x64-windows-static-release" }

在这里,仓库应该包含一个名为 support/custom-triplets/x64-windows-static-release.cmake 的文件。

安装

通过运行以下命令进行安装

cargo install cargo-vcpkg

crates.io/vcpkg 需要较旧的 Rust 以兼容旧项目,而 cargo-vcpkg 希望跟踪 Cargo.toml 中的最新版本以获取最新功能,因此组件之间的存储库被分开。

许可证

请参阅 LICENSE-APACHE 和 LICENSE-MIT 以获取详细信息。

依赖关系

~4–13MB
~134K SLoC