224 lines
5.2 KiB
TOML
224 lines
5.2 KiB
TOML
[package]
|
|
name = "apsis-rs"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
description = "Public facade for the ApsisRS computational kernels."
|
|
publish = false
|
|
|
|
[lib]
|
|
name = "apsis"
|
|
path = "src/lib.rs"
|
|
|
|
# Examples that produce validation input. Each needs the layers it reads
|
|
# from, so it is built only when the matching feature is enabled.
|
|
|
|
[[example]]
|
|
name = "dump_geodesy"
|
|
required-features = ["physics"]
|
|
|
|
[[example]]
|
|
name = "dump_time"
|
|
required-features = ["physics"]
|
|
|
|
[[example]]
|
|
name = "dump_orbit"
|
|
required-features = ["orbit"]
|
|
|
|
[[example]]
|
|
name = "dump_link"
|
|
required-features = ["rf"]
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[features]
|
|
default = []
|
|
|
|
# Enabling a layer also enables the layers it is allowed to depend on.
|
|
foundation = [
|
|
"dep:apsis-core",
|
|
"dep:apsis-units",
|
|
"dep:apsis-math",
|
|
"dep:apsis-macros",
|
|
]
|
|
|
|
physics = [
|
|
"foundation",
|
|
"dep:apsis-time",
|
|
"dep:apsis-leap",
|
|
"dep:apsis-coord",
|
|
"dep:apsis-geodesy",
|
|
"dep:apsis-frames",
|
|
]
|
|
|
|
orbit = [
|
|
"physics",
|
|
"dep:apsis-tle",
|
|
"dep:apsis-sgp4",
|
|
"dep:apsis-kepler",
|
|
"dep:apsis-ephemeris",
|
|
"dep:apsis-maneuver",
|
|
"dep:apsis-orbit",
|
|
]
|
|
|
|
rf = [
|
|
"orbit",
|
|
"dep:apsis-rf",
|
|
"dep:apsis-antenna",
|
|
"dep:apsis-doppler",
|
|
"dep:apsis-atmosphere",
|
|
"dep:apsis-noise",
|
|
"dep:apsis-interference",
|
|
"dep:apsis-link",
|
|
]
|
|
|
|
network = [
|
|
"rf",
|
|
"dep:apsis-constellation",
|
|
"dep:apsis-coverage",
|
|
"dep:apsis-access",
|
|
"dep:apsis-topology",
|
|
"dep:apsis-isl",
|
|
"dep:apsis-routing",
|
|
"dep:apsis-handover",
|
|
"dep:apsis-mesh",
|
|
]
|
|
|
|
ops = [
|
|
"network",
|
|
"dep:apsis-resource",
|
|
"dep:apsis-task",
|
|
"dep:apsis-scheduler",
|
|
"dep:apsis-conflict",
|
|
"dep:apsis-schedule",
|
|
]
|
|
|
|
# The simulation layer aggregates every other layer, so it enables `ops`.
|
|
# Enable `ops` instead of `full` when the simulation layer is not needed.
|
|
sim = [
|
|
"ops",
|
|
"dep:apsis-sim-engine",
|
|
"dep:apsis-scenario",
|
|
"dep:apsis-event",
|
|
"dep:apsis-output",
|
|
"dep:apsis-sim",
|
|
]
|
|
|
|
# Every layer, including `sim`. Enabling `sim` pulls in `ops` and, through
|
|
# it, every lower layer.
|
|
full = ["sim"]
|
|
|
|
[dependencies]
|
|
apsis-core = { workspace = true, optional = true }
|
|
apsis-units = { workspace = true, optional = true }
|
|
apsis-math = { workspace = true, optional = true }
|
|
apsis-macros = { workspace = true, optional = true }
|
|
|
|
apsis-time = { workspace = true, optional = true }
|
|
apsis-leap = { workspace = true, optional = true }
|
|
apsis-coord = { workspace = true, optional = true }
|
|
apsis-geodesy = { workspace = true, optional = true }
|
|
apsis-frames = { workspace = true, optional = true }
|
|
|
|
apsis-tle = { workspace = true, optional = true }
|
|
apsis-sgp4 = { workspace = true, optional = true }
|
|
apsis-kepler = { workspace = true, optional = true }
|
|
apsis-ephemeris = { workspace = true, optional = true }
|
|
apsis-maneuver = { workspace = true, optional = true }
|
|
apsis-orbit = { workspace = true, optional = true }
|
|
|
|
apsis-rf = { workspace = true, optional = true }
|
|
apsis-antenna = { workspace = true, optional = true }
|
|
apsis-doppler = { workspace = true, optional = true }
|
|
apsis-atmosphere = { workspace = true, optional = true }
|
|
apsis-noise = { workspace = true, optional = true }
|
|
apsis-interference = { workspace = true, optional = true }
|
|
apsis-link = { workspace = true, optional = true }
|
|
|
|
apsis-constellation = { workspace = true, optional = true }
|
|
apsis-coverage = { workspace = true, optional = true }
|
|
apsis-access = { workspace = true, optional = true }
|
|
apsis-topology = { workspace = true, optional = true }
|
|
apsis-isl = { workspace = true, optional = true }
|
|
apsis-routing = { workspace = true, optional = true }
|
|
apsis-handover = { workspace = true, optional = true }
|
|
apsis-mesh = { workspace = true, optional = true }
|
|
|
|
apsis-resource = { workspace = true, optional = true }
|
|
apsis-task = { workspace = true, optional = true }
|
|
apsis-scheduler = { workspace = true, optional = true }
|
|
apsis-conflict = { workspace = true, optional = true }
|
|
apsis-schedule = { workspace = true, optional = true }
|
|
|
|
apsis-sim-engine = { workspace = true, optional = true }
|
|
apsis-scenario = { workspace = true, optional = true }
|
|
apsis-event = { workspace = true, optional = true }
|
|
apsis-output = { workspace = true, optional = true }
|
|
apsis-sim = { workspace = true, optional = true }
|
|
|
|
[[example]]
|
|
name = "dump_gas"
|
|
required-features = ["rf"]
|
|
|
|
[[example]]
|
|
name = "dump_rain"
|
|
required-features = ["rf"]
|
|
|
|
[[example]]
|
|
name = "dump_rain_path"
|
|
required-features = ["rf"]
|
|
|
|
[[example]]
|
|
name = "dump_s465"
|
|
required-features = ["rf"]
|
|
|
|
[[example]]
|
|
name = "dump_p839"
|
|
required-features = ["rf"]
|
|
|
|
[[example]]
|
|
name = "dump_gas_exact"
|
|
required-features = ["rf"]
|
|
|
|
[[example]]
|
|
name = "integrate_network"
|
|
required-features = ["network"]
|
|
|
|
[[example]]
|
|
name = "dump_iau2000"
|
|
required-features = ["physics"]
|
|
|
|
[[example]]
|
|
name = "dump_teme"
|
|
required-features = ["physics"]
|
|
|
|
[[example]]
|
|
name = "integrate_ops"
|
|
required-features = ["ops"]
|
|
|
|
[[example]]
|
|
name = "integrate_sim"
|
|
required-features = ["sim"]
|
|
|
|
[[example]]
|
|
name = "bench"
|
|
required-features = ["full"]
|
|
|
|
[[example]]
|
|
name = "dump_coverage"
|
|
required-features = ["network"]
|
|
|
|
[[example]]
|
|
name = "dump_kepler"
|
|
required-features = ["orbit"]
|
|
|
|
[[example]]
|
|
name = "dump_tle"
|
|
required-features = ["orbit"]
|
|
|
|
[[example]]
|
|
name = "bench_scale"
|
|
required-features = ["full"]
|