pub struct Target {
pub name: TargetName,
pub kind: TargetKind,
pub sources: Vec<Utf8PathBuf>,
pub include_dirs: Vec<Utf8PathBuf>,
pub defines: Vec<String>,
pub deps: Vec<String>,
pub language: LanguageStandardSettings,
}Expand description
A buildable unit within a package.
Fields§
§name: TargetName§kind: TargetKind§sources: Vec<Utf8PathBuf>§include_dirs: Vec<Utf8PathBuf>§defines: Vec<String>§deps: Vec<String>Same-package target names or cross-package references. Cross-package
references take the form package (resolves to the package’s default
library target) or package:target (qualified). Resolution against a
concrete package graph lives in cabin-build, not here.
Stored as raw strings, not TargetName, because the qualified
package:target form contains a : that the path-safe target-name
grammar rejects. Validation happens at resolution time against the
already-validated package / target graph; dep strings never flow
directly into a filesystem path.
language: LanguageStandardSettingsPer-target c-standard / cxx-standard /
interface-c-standard / interface-cxx-standard overrides.
Interface fields are only meaningful on library /
header-only kinds; the manifest parser rejects them on
executable-like targets.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Target
impl<'de> Deserialize<'de> for Target
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Target
impl StructuralPartialEq for Target
Auto Trait Implementations§
impl Freeze for Target
impl RefUnwindSafe for Target
impl Send for Target
impl Sync for Target
impl Unpin for Target
impl UnsafeUnpin for Target
impl UnwindSafe for Target
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.