catapult/
project.rs

1use std::{
2	path::PathBuf, //
3	sync::Arc,
4};
5
6use crate::{
7	executable::Executable, //
8	interface_library::InterfaceLibrary,
9	object_library::ObjectLibrary,
10	static_library::StaticLibrary,
11};
12
13#[derive(Debug)]
14pub struct ProjectInfo {
15	pub name: String,
16	pub path: PathBuf,
17}
18
19#[derive(Debug)]
20pub struct Project {
21	pub info: Arc<ProjectInfo>,
22	pub dependencies: Vec<Arc<Project>>,
23	pub executables: Vec<Arc<Executable>>,
24	pub static_libraries: Vec<Arc<StaticLibrary>>,
25	pub object_libraries: Vec<Arc<ObjectLibrary>>,
26	pub interface_libraries: Vec<Arc<InterfaceLibrary>>,
27}