⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 proj_builder_app.cpp

📁 ncbi源码
💻 CPP
📖 第 1 页 / 共 3 页
字号:
        CDirEntry::AddTrailingPathSeparator(m_ProjectTreeInfo->m_Include);        /// <src> branch of tree    string src = GetConfig().GetString("ProjectTree", "src", "");    m_ProjectTreeInfo->m_Src =             CDirEntry::ConcatPath(m_ProjectTreeInfo->m_Root,                                   src);    m_ProjectTreeInfo->m_Src =        CDirEntry::AddTrailingPathSeparator(m_ProjectTreeInfo->m_Src);    // Subtree to build - projects filter    string subtree = args["subtree"].AsString();    subtree =         CDirEntry::ConcatPath(m_ProjectTreeInfo->m_Root, subtree);    string ext;    CDirEntry::SplitPath(subtree, NULL, NULL, &ext);    if (NStr::CompareNocase(ext, ".lst") == 0) {        //If this is *.lst file        m_ProjectTreeInfo->m_IProjectFilter.reset            (new CProjectsLstFileFilter(m_ProjectTreeInfo->m_Src,                                        subtree));    } else {        //Simple subtree        subtree = CDirEntry::AddTrailingPathSeparator(subtree);        m_ProjectTreeInfo->m_IProjectFilter.reset            (new CProjectOneNodeFilter(m_ProjectTreeInfo->m_Src,                                        subtree));    }    /// <compilers> branch of tree    string compilers =         GetConfig().GetString("ProjectTree", "compilers", "");    m_ProjectTreeInfo->m_Compilers =             CDirEntry::ConcatPath(m_ProjectTreeInfo->m_Root,                                   compilers);    m_ProjectTreeInfo->m_Compilers =         CDirEntry::AddTrailingPathSeparator                   (m_ProjectTreeInfo->m_Compilers);    /// ImplicitExcludedBranches - all subdirs will be excluded by default    string implicit_exclude_str         = GetConfig().GetString("ProjectTree", "ImplicitExclude", "");    list<string> implicit_exclude_list;    NStr::Split(implicit_exclude_str,                 LIST_SEPARATOR,                 implicit_exclude_list);    ITERATE(list<string>, p, implicit_exclude_list) {        const string& subdir = *p;        string dir = CDirEntry::ConcatPath(m_ProjectTreeInfo->m_Src,                                            subdir);        dir = CDirEntry::AddTrailingPathSeparator(dir);        m_ProjectTreeInfo->m_ImplicitExcludedAbsDirs.push_back(dir);    }    /// <projects> branch of tree (scripts\projects)    string projects =         GetConfig().GetString("ProjectTree", "projects", "");    m_ProjectTreeInfo->m_Projects =             CDirEntry::ConcatPath(m_ProjectTreeInfo->m_Root,                                   projects);    m_ProjectTreeInfo->m_Projects =         CDirEntry::AddTrailingPathSeparator                   (m_ProjectTreeInfo->m_Compilers);    /// impl part if include project node    m_ProjectTreeInfo->m_Impl =         GetConfig().GetString("ProjectTree", "impl", "");    /// Makefile in tree node    m_ProjectTreeInfo->m_TreeNode =         GetConfig().GetString("ProjectTree", "TreeNode", "");    return *m_ProjectTreeInfo;}const CBuildType& CProjBulderApp::GetBuildType(void){    if ( !m_BuildType.get() ) {        CArgs args = GetArgs();        bool dll_build = args["dll"];        m_BuildType.reset(new CBuildType(dll_build));    }        return *m_BuildType;}const CMsvcDllsInfo& CProjBulderApp::GetDllsInfo(void){    if ( !m_DllsInfo.get() ) {        string site_ini_dir = GetProjectTreeInfo().m_Compilers;        site_ini_dir =                 CDirEntry::ConcatPath(site_ini_dir,                                       GetRegSettings().m_CompilersSubdir);        site_ini_dir =             CDirEntry::ConcatPath(site_ini_dir,                                   GetBuildType().GetTypeStr());        string dll_info_file_name = GetRegSettings().m_DllInfo;        dll_info_file_name =            CDirEntry::ConcatPath(site_ini_dir, dll_info_file_name);        m_DllsInfo.reset(new CMsvcDllsInfo(dll_info_file_name));    }        return *m_DllsInfo;}const CProjectItemsTree& CProjBulderApp::GetWholeTree(void){    if ( !m_WholeTree.get() ) {        m_WholeTree.reset(new CProjectItemsTree);        CProjectDummyFilter pass_all_filter;        CProjectTreeBuilder::BuildProjectTree(&pass_all_filter,                                               GetProjectTreeInfo().m_Src,                                               m_WholeTree.get());    }        return *m_WholeTree;}CDllSrcFilesDistr& CProjBulderApp::GetDllFilesDistr(void){    if (m_DllSrcFilesDistr.get())        return *m_DllSrcFilesDistr;    m_DllSrcFilesDistr.reset ( new CDllSrcFilesDistr() );    return *m_DllSrcFilesDistr;}string CProjBulderApp::GetDatatoolId(void) const{    return GetConfig().GetString("Datatool", "datatool", "datatool");}string CProjBulderApp::GetDatatoolPathForApp(void) const{    return GetConfig().GetString("Datatool", "Location.App", "datatool.exe");}string CProjBulderApp::GetDatatoolPathForLib(void) const{    return GetConfig().GetString("Datatool", "Location.Lib", "datatool.exe");}string CProjBulderApp::GetDatatoolCommandLine(void) const{    return GetConfig().GetString("Datatool", "CommandLine", "");}CProjBulderApp& GetApp(void){    static CProjBulderApp theApp;    return theApp;}END_NCBI_SCOPEUSING_NCBI_SCOPE;int main(int argc, const char* argv[]){    // Execute main application function    return GetApp().AppMain(argc, argv, 0, eDS_Default);}/* * =========================================================================== * $Log: proj_builder_app.cpp,v $ * Revision 1000.4  2004/06/16 17:02:36  gouriano * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.43 * * Revision 1.43  2004/06/15 19:01:40  gorelenk * Fixed compilation errors on GCC 2.95 . * * Revision 1.42  2004/06/14 14:16:58  gorelenk * Changed implementation of CProjBulderApp::GetProjectTreeInfo - added * m_TreeNode . * * Revision 1.41  2004/06/07 19:14:54  gorelenk * Changed CProjBulderApp::GetProjectTreeInfo . * * Revision 1.40  2004/06/07 13:57:43  gorelenk * Changed implementation of CProjBulderApp::GetRegSettings and * CProjBulderApp::GetDllsInfo. * * Revision 1.39  2004/05/21 21:41:41  gorelenk * Added PCH ncbi_pch.hpp * * Revision 1.38  2004/05/19 14:23:40  gorelenk * Implemented CProjBulderApp::GetDllFilesDistr . * * Revision 1.37  2004/05/17 16:21:38  gorelenk * Implemeted CProjBulderApp::GetDllFilesDistr . * * Revision 1.36  2004/04/13 17:09:39  gorelenk * Changed implementation of CProjBulderApp::Run . * * Revision 1.35  2004/04/08 18:45:56  gorelenk * Conditionaly enabled exclude projects by msvc makefiles . * * Revision 1.34  2004/03/23 14:35:51  gorelenk * Added implementation of CProjBulderApp::GetWholeTree. * * Revision 1.33  2004/03/10 21:29:27  gorelenk * Changed implementation of CProjBulderApp::Run. * * Revision 1.32  2004/03/10 16:50:13  gorelenk * Separated static build and dll build processing inside CProjBulderApp::Run. * * Revision 1.31  2004/03/08 23:37:01  gorelenk * Implemented CProjBulderApp::GetDllsInfo. * * Revision 1.30  2004/03/05 18:08:26  gorelenk * Excluded filtering of projects by .msvc makefiles. * * Revision 1.29  2004/03/03 22:20:02  gorelenk * Added predicate PIsExcludedMakefileIn, class template CCombine,  redesigned * projects exclusion inside CProjBulderApp::Run - to support local * Makefile.in.msvc . * * Revision 1.28  2004/03/03 00:06:25  gorelenk * Changed implementation of CProjBulderApp::Run. * * Revision 1.27  2004/03/02 23:35:41  gorelenk * Changed implementation of CProjBulderApp::Init (added flag "dll"). * Added implementation of CProjBulderApp::GetBuildType. * * Revision 1.26  2004/03/02 16:25:41  gorelenk * Added include for proj_tree_builder.hpp. * * Revision 1.25  2004/03/01 18:01:19  gorelenk * Added processing times reporting to log. Added project tree checking * for projects inter-dependencies. * * Revision 1.24  2004/02/26 21:31:51  gorelenk * Re-designed CProjBulderApp::GetProjectTreeInfo - use creation of * IProjectFilter-derived classes instead of string. * Changed signature of call BuildProjectTree inside CProjBulderApp::Run. * * Revision 1.23  2004/02/25 19:44:04  gorelenk * Added creation of BuildAll utility project to CProjBulderApp::Run. * * Revision 1.22  2004/02/20 22:53:58  gorelenk * Added analysis of ASN projects depends. * * Revision 1.21  2004/02/18 23:37:06  gorelenk * Changed definition of member-function GetProjectTreeInfo. * * Revision 1.20  2004/02/13 20:39:52  gorelenk * Minor cosmetic changes. * * Revision 1.19  2004/02/13 17:52:42  gorelenk * Added command line parametrs path normalization. * * Revision 1.18  2004/02/12 23:15:29  gorelenk * Implemented utility projects creation and configure re-build of the app. * * Revision 1.17  2004/02/12 18:46:20  ivanov * Removed extra argument from AppMain() call to autoload .ini file * * Revision 1.16  2004/02/12 17:41:52  gorelenk * Implemented creation of MasterProject and ConfigureProject in different * folder. * * Revision 1.15  2004/02/12 16:27:10  gorelenk * Added _CONFIGURE_ project generation. * * Revision 1.14  2004/02/11 15:40:44  gorelenk * Implemented support for multiple implicit excludes from source tree. * * Revision 1.13  2004/02/10 18:18:43  gorelenk * Changed LOG_POST massages. * * Revision 1.12  2004/02/06 23:14:59  gorelenk * Implemented support of ASN projects, semi-auto configure, * CPPFLAGS support. Second working version. * * Revision 1.11  2004/02/04 23:59:52  gorelenk * Changed log messages generation. * * Revision 1.10  2004/02/03 17:14:24  gorelenk * Changed implementation of class CProjBulderApp member functions. * * Revision 1.9  2004/01/30 20:44:22  gorelenk * Initial revision. * * Revision 1.8  2004/01/29 15:45:13  gorelenk * Added support of project tree filtering * * Revision 1.7  2004/01/28 17:55:50  gorelenk * += For msvc makefile support of : *                 Requires tag, ExcludeProject tag, *                 AddToProject section (SourceFiles and IncludeDirs), *                 CustomBuild section. * += For support of user local site. * * Revision 1.6  2004/01/26 19:27:30  gorelenk * += MSVC meta makefile support * += MSVC project makefile support * * Revision 1.5  2004/01/22 17:57:55  gorelenk * first version * * =========================================================================== */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -