featurecomb 0.2.0

Define feature groups and enforce relations between Cargo features from your manifest
Documentation
[package]
name = "featurecomb-example-lib"
version = "0.1.0"
edition.workspace = true
publish = false

[dependencies]
featurecomb = { path = "../../../../featurecomb" }

[package.metadata.feature-groups]
ip-version = { features = ["ipv4", "ipv6"] }
llvm-version.exactly-one = { features = ["llvm-16", "llvm-17", "llvm-18"] }
openssl.xor = { features = ["native-openssl", "vendored-openssl"] }
tls-version = { features = ["tls-12", "tls-13"] }

[package.metadata.feature-groups.features]
tls.requires = { groups = ["openssl", "tls-version"] }
usb-hid.requires = { features = ["usb"] }

[features]
ipv4 = []
ipv6 = []

llvm-16 = []
llvm-17 = []
llvm-18 = []

usb = []
usb-hid = []

tls = []
tls-12 = []
tls-13 = []
native-openssl = []
vendored-openssl = []