Skip to main content

miden_project/
target.rs

1use miden_assembly_syntax::Path;
2
3use crate::*;
4
5/// Represents build target configuration
6#[derive(Debug, Clone)]
7pub struct Target {
8    pub ty: TargetType,
9    /// The effective name of this target
10    ///
11    /// If unspecified in the project file, the name is the same as `namespace`
12    ///
13    /// The name must be unique within a project
14    pub name: Span<Arc<str>>,
15    /// The namespace root for this target
16    pub namespace: Span<Arc<Path>>,
17    /// The path from the project manifest to the root source file for this target
18    ///
19    /// If not provided, it is expected that source modules will be provided to the assembler
20    /// through other means. For example, `midenc` will compile Rust code to MASM, and then provide
21    /// the MASM modules to an instantiated assembler when assembling this project.
22    pub path: Option<Span<Uri>>,
23}