1 #ifndef PROJECT_TREE_BULDER__PROJ_BUILDER_APP__HPP
2 #define PROJECT_TREE_BULDER__PROJ_BUILDER_APP__HPP
63 int EnumOpt(
const string& enum_name,
const string& enum_val)
const;
72 virtual void Init(
void);
73 virtual int Run (
void);
74 virtual void Exit(
void);
210 const string& project,
const string& dir,
const string& watcher);
223 bool FindDepGraph(
const string& root, list<string>& found)
const;
225 void CollectDep(
const string& libname,
const string& depname);
238 list<string>& enabled, list<string>& disabled);
240 const list<string>& enabled,
const list<string>& disabled);
283 return "Can not create file";
285 return "Bad or missing enum value";
287 return "Can not open file";
289 return "Unknown project type";
291 return "Unknown build configuration";
293 return "Bad or missed metamakefile";
295 return "Path to configure defines file is empty";
297 return "Unregistered project tag";
Utility class for distinguish between static and dll builds.
Distribution if source files by lib projects Uses in dll project to separate source files to groups b...
CProjBulderAppException –.
NCBI_EXCEPTION_DEFAULT(CProjBulderAppException, CException)
virtual const char * GetErrCodeString(void) const override
Get error code interpreted as text.
string GetDatatoolId(void) const
unique_ptr< CMsvcSite > m_MsvcSite
set< string > m_Frameworks
unique_ptr< CDllSrcFilesDistr > m_DllSrcFilesDistr
void CreateFeaturesAndPackagesFiles(const list< SConfigInfo > *configs, list< string > &enabled, list< string > &disabled)
virtual void Init(void)
Initialize the application.
void ReportProjectWatchers(void)
void UpdateDepGraph(CProjectTreeBuilder::TFiles &files)
void GetBuildConfigs(list< SConfigInfo > *configs)
bool IsAllowedProjectTag(const CProjItem &project, const string *filter=NULL) const
void ParseArguments(void)
Parse program arguments.
void AddCustomMetaData(const string &file)
const CBuildType & GetBuildType(void)
bool InsertDep(vector< set< string > > &graph, const string &dep, list< string > &done)
CSimpleMakeFileContents m_CustomConfiguration
bool FindDepGraph(const string &root, list< string > &found) const
bool Gui_ConfirmProjects(CProjectItemsTree &projects_tree)
friend CProjBulderApp & GetApp(void)
Singleton.
unique_ptr< CProjectItemsTree > m_WholeTree
map< string, string > m_CompositeProjectTags
void GenerateUnixProjects(CProjectItemsTree &projects_tree)
string GetDatatoolPathForLib(void) const
virtual void Exit(void)
Cleanup on application exit.
const CProjectItemsTree * GetCurrentBuildTree(void) const
void GetCustomConfH(list< string > *files) const
int EnumOpt(const string &enum_name, const string &enum_val) const
ShortCut for enums.
map< string, list< string > > m_3PartyLibraryOrder
void ReportGeneratedFiles(void)
void GenerateMsvcProjects(CProjectItemsTree &projects_tree)
unique_ptr< SProjectTreeInfo > m_ProjectTreeInfo
string GetDataspecProjId(void) const
map< string, set< string > > m_GraphDepIncludes
void GenerateMacProjects(CProjectItemsTree &projects_tree)
CDllSrcFilesDistr & GetDllFilesDistr(void)
virtual int Run(void)
Run the application.
unique_ptr< CMsvcMetaMakefile > m_MsvcMetaMakefile
void CollectDep(const string &libname, const string &depname)
set< string > m_RegisteredProjectTags
const CMsvcMetaMakefile & GetMetaMakefile(void)
string GetUtilityProjectsDir(void) const
map< string, size_t > m_GraphDepRank
const CProjectItemsTree * GetIncompleteBuildTree(void) const
list< string > m_CustomConfH
set< string > m_3PartyLibs
string GetDatatoolPathForApp(void) const
void RegisterGeneratedFile(const string &file)
bool ConfirmConfiguration(void)
map< string, list< string > > m_LibraryOrder
void GenerateSummary(const list< SConfigInfo > configs, const list< string > &enabled, const list< string > &disabled)
void SetFail(int exit_code=1)
void VerifyArguments(void)
string GetUtilityProjectsSrcDir(void)
void RegisterSuspiciousProject(const CProjKey &proj)
list< string > m_ProjWatchers
void SetConfFileData(const string &src, const string &dest)
void RegisterProjectWatcher(const string &project, const string &dir, const string &watcher)
void ExcludeUnrequestedProjects(CProjectItemsTree &tree) const
void AddCustomConfH(const string &file)
const SProjectTreeInfo & GetProjectTreeInfo(void)
void GetMetaDataFiles(list< string > *files) const
string GetConfigureMacro(string data)
bool UseAbsolutePath(const string &path) const
string ProcessLocationMacros(string data)
const CProjectItemsTree & GetWholeTree(void)
void DumpFiles(const TFiles &files, const string &filename) const
string GetDatatoolCommandLine(void) const
const CMsvc7RegSettings & GetRegSettings(void)
const CProjectItemsTree * m_IncompleteBuildTree
list< string > m_GeneratedFiles
void ExcludeProjectsByTag(CProjectItemsTree &tree) const
unique_ptr< CBuildType > m_BuildType
map< string, set< string > > m_GraphDepFlags
list< string > m_CustomMetaData
void LoadDepGraph(const string &filename)
map< string, CSimpleMakeFileContents > TFiles
const string & GetBuildRoot(void) const
bool IsScanningWholeTree(void) const
set< CProjKey > m_SuspiciousProj
void LoadProjectTags(const string &filename)
unique_ptr< CMsvc7RegSettings > m_MsvcRegSettings
void CreateCheckList(const list< SConfigInfo > *configs, CProjectItemsTree &projects_tree)
map< string, set< string > > m_GraphDepPrecedes
bool Gui_ConfirmConfiguration(void)
const string & GetExtSrcRoot(void) const
void CollectLibToLibDependencies(CProjectItemsTree &projects_tree, set< string > &dep, set< string > &visited, CProjectItemsTree::TProjects::const_iterator &lib, CProjectItemsTree::TProjects::const_iterator &lib_dep)
const CMsvcSite & GetSite(void)
const CProjectItemsTree * m_CurrentBuildTree
string GetProjectTreeRoot(void) const
CSimpleMakeFileContents –.
container_type::const_iterator const_iterator
TErrCode GetErrCode(void) const
Get error code.
EErrCode
Error types that an application can generate.
virtual const char * GetErrCodeString(void) const
Get error code interpreted as text.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Defines the CNcbiApplication and CAppException classes for creating NCBI applications.
Defines command line argument related classes.
Defines unified interface to application:
Defines classes: CDirEntry, CFile, CDir, CSymLink, CMemoryFile, CFileUtil, CFileLock,...
CProjBulderApp & GetApp(void)
access to App singleton
Abstraction of project tree general information.