top | up | prev | next

Project Class

Definition at line 104 of Project.hpp

Constructors

Project(const Project&) delete
Project(const std::u32string& name_, const std::string& filePath_, const std::string& config_, BackEnd backend)

Member Functions

void AddDeclaration(ProjectDeclaration* declaration)
void AddDependsOnProjects(Project* dependsOnProject)
bool Built() const
bool DependsOn(Project* that) const
const std::vector<Project*>& DependsOnProjects()
const std::string& ExecutableFilePath() const
const std::string& FilePath() const
Target GetTarget() const
int Index() const
bool IsSystemProject() const
bool IsUpToDate(const std::string& systemModuleFilePath) const
const std::string& LibraryFilePath() const
int LogStreamId() const
const std::string& ModuleFilePath() const
const std::u32string& Name() const
const boost::filesystem::path& OutdirBasePath() const
bool Ready() const
const std::vector<std::string>& ReferencedProjectFilePaths() const
const std::vector<std::string>& References() const
const std::string& RelativeFilePath() const
const std::vector<std::string>& RelativeReferencedProjectFilePaths() const
const std::vector<std::string>& RelativeResourceFilePaths() const
const std::vector<std::string>& RelativeSourceFilePaths() const
const std::vector<std::string>& RelativeTextFilePaths() const
void ResolveDeclarations()
const std::vector<std::string>& ResourceFilePaths() const
void SetBuilt()
void SetExcludeSourceFilePath(const std::string& excludeSourceFilePath_)
void SetIndex(int index_)
void SetLibraryFilePath(const std::string& libraryFilePath_)
void SetLogStreamId(int logStreamId_)
void SetModuleFilePath(const std::string& moduleFilePath_)
void SetRelativeFilePath(const std::string& relativeFilePath_)
void SetSystemProject()
const boost::filesystem::path& SourceBasePath() const
const std::vector<std::string>& SourceFilePaths() const
const std::vector<std::string>& TextFilePaths() const
Project& operator=(const Project&) delete

Member Variables

bool built
std::string config
std::vector<std::unique_ptr<ProjectDeclaration>> declarations
std::vector<Project*> dependsOn
std::string excludeSourceFilePath
std::string executableFilePath
std::string filePath
int index
bool isSystemProject
std::string libraryFilePath
int logStreamId
std::string moduleFilePath
std::u32string name
boost::filesystem::path outdirBasePath
std::vector<std::string> referencedProjectFilePaths
std::vector<std::string> references
std::string relativeFilePath
std::vector<std::string> relativeReferencedProjectFilePaths
std::vector<std::string> relativeResourceFilePaths
std::vector<std::string> relativeSourceFilePaths
std::vector<std::string> relativeTextFilePaths
std::vector<std::string> resourceFilePaths
boost::filesystem::path sourceBasePath
std::vector<std::string> sourceFilePaths
boost::filesystem::path systemLibDir
Target target
std::vector<std::string> textFilePaths

Constructor Details

Project Constructor

sngcm::ast::Project::Project(const Project &) delete

Definition at line 108 of Project.hpp


Project Constructor

sngcm::ast::Project::Project(const std::u32string& name_, const std::string& filePath_, const std::string& config_, BackEnd backend)

Definition at line 121 of Project.cpp
Declaration at line 107 of Project.hpp


Member Function Details

AddDeclaration Member Function

void sngcm::ast::Project::AddDeclaration(ProjectDeclaration * declaration)

Definition at line 186 of Project.cpp :
187 {
188     declarations.push_back(std::unique_ptr<ProjectDeclaration>(declaration));
189 }


Declaration at line 114 of Project.hpp


AddDependsOnProjects Member Function

void sngcm::ast::Project::AddDependsOnProjects(Project * dependsOnProject)

Definition at line 333 of Project.cpp :
334 {
335     dependsOn.push_back(dependsOnProject);
336 }


Declaration at line 130 of Project.hpp


Built Member Function

bool sngcm::ast::Project::Built() const

Definition at line 143 of Project.hpp :
143 { return built; }

Called by: sngcm::ast::Project::Ready


DependsOn Member Function

bool sngcm::ast::Project::DependsOn(Project * that) const

Definition at line 328 of Project.cpp :
329 {
330     return std::find(references.cbegin()references.cend()that->moduleFilePath) != references.cend();
331 }


Declaration at line 129 of Project.hpp


DependsOnProjects Member Function

const std::vector<Project *>& sngcm::ast::Project::DependsOnProjects()

Definition at line 142 of Project.hpp :
142 { return dependsOn; }


ExecutableFilePath Member Function

const std::string& sngcm::ast::Project::ExecutableFilePath() const

Definition at line 118 of Project.hpp :
118 { return executableFilePath; }


FilePath Member Function

const std::string& sngcm::ast::Project::FilePath() const

Definition at line 111 of Project.hpp :
111 { return filePath; }


GetTarget Member Function

Target sngcm::ast::Project::GetTarget() const

Definition at line 128 of Project.hpp :
128 { return target; }


Index Member Function

int sngcm::ast::Project::Index() const

Definition at line 141 of Project.hpp :
141 { return index; }


IsSystemProject Member Function

bool sngcm::ast::Project::IsSystemProject() const

Definition at line 131 of Project.hpp :
131 { return isSystemProject; }

Called by: sngcm::ast::Project::IsUpToDate


IsUpToDate Member Function

bool sngcm::ast::Project::IsUpToDate(const std::string& systemModuleFilePath) const

Definition at line 348 of Project.cpp
Declaration at line 137 of Project.hpp

Calls: sngcm::ast::Project::IsSystemProject


LibraryFilePath Member Function

const std::string& sngcm::ast::Project::LibraryFilePath() const

Definition at line 117 of Project.hpp :
117 { return libraryFilePath; }


LogStreamId Member Function

int sngcm::ast::Project::LogStreamId() const

Definition at line 138 of Project.hpp :
138 { return logStreamId; }


ModuleFilePath Member Function

const std::string& sngcm::ast::Project::ModuleFilePath() const

Definition at line 116 of Project.hpp :
116 { return moduleFilePath; }


Name Member Function

const std::u32string& sngcm::ast::Project::Name() const

Definition at line 110 of Project.hpp :
110 { return name; }


OutdirBasePath Member Function

const boost::filesystem::path& sngcm::ast::Project::OutdirBasePath() const

Definition at line 113 of Project.hpp :
113 { return outdirBasePath; }


Ready Member Function

bool sngcm::ast::Project::Ready() const

Definition at line 378 of Project.cpp :
379 {
380     for (Project* dependOn : dependsOn)
381     {
382         if (!dependOn->Built())
383         {
384             return false;
385         }
386     }
387     return true;
388 }


Declaration at line 145 of Project.hpp

Calls: sngcm::ast::Project::Built


ReferencedProjectFilePaths Member Function

const std::vector<std::string>& sngcm::ast::Project::ReferencedProjectFilePaths() const

Definition at line 120 of Project.hpp :
120 { return referencedProjectFilePaths; }


References Member Function

const std::vector<std::string>& sngcm::ast::Project::References() const

Definition at line 119 of Project.hpp :
119 { return references; }


RelativeFilePath Member Function

const std::string& sngcm::ast::Project::RelativeFilePath() const

Definition at line 134 of Project.hpp :
134 { return relativeFilePath; }


RelativeReferencedProjectFilePaths Member Function

const std::vector<std::string>& sngcm::ast::Project::RelativeReferencedProjectFilePaths() const

Definition at line 121 of Project.hpp :
121 { return relativeReferencedProjectFilePaths; }


RelativeResourceFilePaths Member Function

const std::vector<std::string>& sngcm::ast::Project::RelativeResourceFilePaths() const

Definition at line 125 of Project.hpp :
125 { return relativeResourceFilePaths; }


RelativeSourceFilePaths Member Function

const std::vector<std::string>& sngcm::ast::Project::RelativeSourceFilePaths() const

Definition at line 123 of Project.hpp :
123 { return relativeSourceFilePaths; }


RelativeTextFilePaths Member Function

const std::vector<std::string>& sngcm::ast::Project::RelativeTextFilePaths() const

Definition at line 126 of Project.hpp :
126 { return relativeTextFilePaths; }


ResolveDeclarations Member Function

void sngcm::ast::Project::ResolveDeclarations()

Definition at line 191 of Project.cpp
Declaration at line 115 of Project.hpp

Calls: sngcm::ast::ReferenceDeclaration::FilePath , sngcm::ast::ResourceFileDeclaration::FilePath , sngcm::ast::SourceFileDeclaration::FilePath , sngcm::ast::TargetDeclaration::GetTarget , sngcm::ast::TextFileDeclaration::FilePath


ResourceFilePaths Member Function

const std::vector<std::string>& sngcm::ast::Project::ResourceFilePaths() const

Definition at line 124 of Project.hpp :
124 { return resourceFilePaths;  }


SetBuilt Member Function

void sngcm::ast::Project::SetBuilt()

Definition at line 144 of Project.hpp :
144 { built = true; }


SetExcludeSourceFilePath Member Function

void sngcm::ast::Project::SetExcludeSourceFilePath(const std::string& excludeSourceFilePath_)

Definition at line 390 of Project.cpp :
391 {
392     excludeSourceFilePath = excludeSourceFilePath_;
393 }


Declaration at line 146 of Project.hpp


SetIndex Member Function

void sngcm::ast::Project::SetIndex(int index_)

Definition at line 140 of Project.hpp :
140 { index = index_; }


SetLibraryFilePath Member Function

void sngcm::ast::Project::SetLibraryFilePath(const std::string& libraryFilePath_)

Definition at line 343 of Project.cpp :
344 {
345     libraryFilePath = libraryFilePath_;
346 }


Declaration at line 136 of Project.hpp


SetLogStreamId Member Function

void sngcm::ast::Project::SetLogStreamId(int logStreamId_)

Definition at line 139 of Project.hpp :
139 { logStreamId = logStreamId_; }


SetModuleFilePath Member Function

void sngcm::ast::Project::SetModuleFilePath(const std::string& moduleFilePath_)

Definition at line 338 of Project.cpp :
339 {
340     moduleFilePath = moduleFilePath_;
341 }


Declaration at line 135 of Project.hpp


SetRelativeFilePath Member Function

void sngcm::ast::Project::SetRelativeFilePath(const std::string& relativeFilePath_)

Definition at line 133 of Project.hpp :
133 { relativeFilePath = relativeFilePath_; }


SetSystemProject Member Function

void sngcm::ast::Project::SetSystemProject()

Definition at line 132 of Project.hpp :
132 { isSystemProject = true; }


SourceBasePath Member Function

const boost::filesystem::path& sngcm::ast::Project::SourceBasePath() const

Definition at line 112 of Project.hpp :
112 { return sourceBasePath; }


SourceFilePaths Member Function

const std::vector<std::string>& sngcm::ast::Project::SourceFilePaths() const

Definition at line 122 of Project.hpp :
122 { return sourceFilePaths; }


TextFilePaths Member Function

const std::vector<std::string>& sngcm::ast::Project::TextFilePaths() const

Definition at line 127 of Project.hpp :
127 { return textFilePaths; }


operator= Member Function

Project & sngcm::ast::Project::operator=(const Project &) delete

Definition at line 109 of Project.hpp


top | up | prev | next