135 lines
4.6 KiB
TOML
135 lines
4.6 KiB
TOML
[package]
|
|
name = "rerun-cli"
|
|
authors.workspace = true
|
|
categories = ["visualization", "computer-vision"]
|
|
description = "Log images, point clouds, etc, and visualize them effortlessly"
|
|
edition.workspace = true
|
|
homepage.workspace = true
|
|
include.workspace = true
|
|
keywords = ["mesh", "plotting", "point-cloud", "robotics", "visualization"]
|
|
license.workspace = true
|
|
publish = true
|
|
readme = "README.md"
|
|
repository.workspace = true
|
|
rust-version.workspace = true
|
|
version.workspace = true
|
|
|
|
default-run = "rerun" # If someone types `cargo run` in this workspace, this is what we staert
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|
|
targets = ["x86_64-unknown-linux-gnu", "wasm32-unknown-unknown"]
|
|
|
|
|
|
[package.metadata.cargo-shear]
|
|
# TODO(lancedb/lance#3073): remove `lance` feature flag
|
|
ignored = ["re_server"]
|
|
|
|
|
|
[[bin]]
|
|
name = "rerun"
|
|
path = "src/bin/rerun.rs"
|
|
# This binary's name collides with `crates/top/rerun` (the library).
|
|
# https://github.com/rust-lang/cargo/issues/6313
|
|
doc = false
|
|
|
|
[features]
|
|
## The default is what the user gets when they call `cargo install rerun-cli --locked`,
|
|
## so we have all the bells and wistles here, except those that may require extra tools
|
|
## (like "nasm").
|
|
## That is: `cargo install rerun-cli --locked` should work for _everyone_.
|
|
default = ["web_viewer", "base"]
|
|
|
|
## Our base feature set, included in `default` and in `release`, but excludes the web viewer.
|
|
base = ["native_viewer", "map_view", "oss_server", "perf_telemetry"]
|
|
|
|
# !!!IMPORTANT!!!
|
|
#
|
|
# Do you _really_ want to add features in `release_no_web_viewer` that are not in `base`?
|
|
#
|
|
# Here are some reasons not to:
|
|
# - These features will be missing from the `cargo install rerun-cli --locked` command our users will inevitably use.
|
|
# - These features will not be picked up in places where we cannot use the `release` feature set (e.g. rerun_js).
|
|
# - This list is not exhaustive and will unexpectedly grow in the future.
|
|
#
|
|
# If you insist on adding a feature here, please make sure you address all the concerns above.
|
|
#
|
|
# `nasm`
|
|
# ------
|
|
#
|
|
# This requires external build tools (the `nasm` cli) and would break any build on a system without it. Mitigation: a
|
|
# warning with instructions is printed when building `rerun-cli` in release mode without the `nasm` feature (see
|
|
# `build.rs`).
|
|
|
|
## The features we enable when we build the pre-built binaries during our releases,
|
|
## but excluding the web viewer.
|
|
## This may enable features that require extra build tools that not everyone has.
|
|
release_no_web_viewer = ["base", "lance", "nasm"]
|
|
|
|
## The features we enable when we build the pre-built binaries during our releases.
|
|
## These are the binaries we put in our release artifacts, and bundle in our Python wheel.
|
|
## This may enable features that require extra build tools that not everyone has.
|
|
release_full = ["release_no_web_viewer", "web_viewer"]
|
|
|
|
|
|
## Support the map view.
|
|
## This adds a lot of extra dependencies.
|
|
map_view = ["rerun/map_view"]
|
|
|
|
## Enable faster native video decoding with assembly.
|
|
## You need to install [nasm](https://github.com/netwide-assembler/nasm) to compile with this feature.
|
|
nasm = ["rerun/nasm"]
|
|
|
|
## Support spawning a native viewer.
|
|
## This adds a lot of extra dependencies, so only enable this feature if you need it!
|
|
native_viewer = ["rerun/native_viewer"]
|
|
|
|
## Enable the in-memory Rerun Server, useful for testing.
|
|
oss_server = ["rerun/oss_server"]
|
|
|
|
## Add support for Lance tables in the in-memory OSS Rerun Server (`oss_server` feature flag).
|
|
## This is opt-in because of <https://github.com/lance-format/lance/issues/3073>.
|
|
# TODO(lancedb/lance#3073): remove feature flag
|
|
lance = ["re_server/lance"]
|
|
|
|
## Enables integration with `re_perf_telemetry` (OpenTelemetry, Jaeger).
|
|
##
|
|
## This only works on native, and only with `TELEMETRY_ENABLED` set.
|
|
perf_telemetry = ["rerun/perf_telemetry"]
|
|
|
|
## Support serving a web viewer over HTTP.
|
|
##
|
|
## Enabling this inflates the binary size quite a bit, since it embeds the viewer wasm.
|
|
# When building from source (in the repository), this feature adds quite a bit
|
|
# to the compile time since it requires compiling and bundling the viewer as wasm.
|
|
#
|
|
# TODO(#4295): web_viewer shouldn't require rerun/sdk
|
|
web_viewer = ["rerun/web_viewer", "rerun/sdk"]
|
|
|
|
[dependencies]
|
|
re_build_info.workspace = true
|
|
re_error.workspace = true
|
|
re_log = { workspace = true, features = ["setup"] }
|
|
re_memory.workspace = true
|
|
rerun = { workspace = true, default-features = false, features = [
|
|
"analytics",
|
|
"importers",
|
|
"glam",
|
|
"image",
|
|
"log",
|
|
"run",
|
|
"server",
|
|
] }
|
|
|
|
re_server = { workspace = true, optional = true }
|
|
|
|
document-features.workspace = true
|
|
mimalloc.workspace = true
|
|
|
|
|
|
[build-dependencies]
|
|
re_build_tools.workspace = true
|