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}