From 14e7c30d12708c3cac93d6710f90e289ebcc05fc Mon Sep 17 00:00:00 2001
From: Camelid
To recognize Docs.rs from Setting a README
Detecting Docs.rs
build.rs
files, you can test for the environment variable DOCS_RS
, e.g.:
- {% filter dedent(levels=4) -%}
-
{%- endfilter %}
This approach can be helpful if you need dependencies for building the library, but not for building the documentation.
- if let Ok(_) = std::env::var("DOCS_RS") {
+ {% filter dedent(levels=3) -%}
+
+ }if let Ok(_) = std::env::var("DOCS_RS") {
// ... your code here ...
- }
-
You can configure how your crate is built by adding package metadata to your Cargo.toml
, e.g.:
{% filter dedent -%}
-
- [package.metadata.docs.rs]
- rustc-args = ["--cfg", "docsrs"]
-
+ [package.metadata.docs.rs]
+ rustc-args = ["--cfg", "docsrs"]
{%- endfilter %}
Here, the compiler arguments are set so that #[cfg(docsrs)]
(not to be confused with #[cfg(doc)]
) can be used for conditional compilation.
This approach is also useful for setting cargo features.
From eea9807c2acdfc194c59e37f7d77886eddf2c7dc Mon Sep 17 00:00:00 2001
From: Camelid