2019-11-01に更新

依存先のcrateのfeatureを指定する方法

依存先のcrateのfeatureを有効にする方法

結論

cargo build --features="grpcio/openssl"grpcioopensslを有効にできる。


Cargo.tomlが下記のようになっていれば
cargo build --features="openssl"で同じことができる。

[features]
openssl = ["grpcio/openssl"]

[dependencies]
grpcio = "0.4.4"

やりたかったこと

grpcioというcrateでfeatueres = ["openssl"] を指定してやることができる。

cargo buildのようにfeaturesを指定しなかったときはgrpcioのfeaturesを有効にしたくない。
cargo build --features=opensslなどしたときだけgrpcioopensslを有効にしたい。

ドキュメントに書いてあった

https://doc.rust-lang.org/cargo/reference/manifest.html#the-features-section

以下引用

# Features can be used to reexport features of other packages. The `session`
# feature of package `awesome` will ensure that the `session` feature of the
# package `cookie` is also enabled.
session = ["cookie/session"]

ここに気づかずに数時間無駄にした。


block

京都のゲームプログラマ。 C++/Rust/Game/Programmer/立方体

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

関連記事

コメント