NCBI C++ ToolKit
|
#include <ncbi_pch.hpp>
#include "msvc_dlls_info.hpp"
#include "proj_builder_app.hpp"
#include "msvc_prj_defines.hpp"
#include "proj_projects.hpp"
#include "proj_tree_builder.hpp"
#include "msvc_project_context.hpp"
#include "msvc_prj_files_collector.hpp"
#include "msvc_dlls_info_utils.hpp"
#include "ptb_err_codes.hpp"
#include <corelib/ncbistre.hpp>
#include <algorithm>
Go to the source code of this file.
Go to the SVN repository for this file.
Functions | |
void | FilterOutDllHostedProjects (const CProjectItemsTree &tree_src, CProjectItemsTree *tree_dst) |
static bool | s_IsInTree (CProjKey::TProjType proj_type, const string &proj_id, const CProjectItemsTree *tree) |
static void | s_InitalizeDllProj (const string &dll_id, CProjItem *dll, const CProjectItemsTree &tree_src, CProjectItemsTree *tree_dst) |
static void | s_AddProjItemToDll (const CProjectItemsTree &tree_src, const CProjItem &lib, CProjItem &dll) |
void | AnalyzeDllData (CProjectItemsTree &tree) |
string | GetDllHost (const CProjectItemsTree &tree, const string &lib) |
void | CreateDllBuildTree (const CProjectItemsTree &tree_src, CProjectItemsTree *tree_dst) |
void | CreateDllsList (const CProjectItemsTree &tree_src, list< string > *dll_ids) |
void | CollectDllsDepends (const CProjectItemsTree &tree_src, const list< string > &dll_ids, list< string > *dll_depends_ids) |
void AnalyzeDllData | ( | CProjectItemsTree & | tree | ) |
Definition at line 341 of file msvc_dlls_info.cpp.
References CProjKey::eDll, CProjKey::eLib, tree< T, tree_node_allocator >::end(), tree< T, tree_node_allocator >::erase(), i, set< Key, Compare >::insert(), ITERATE, ncbi::grid::netcache::search::fields::key, CProjItem::m_HostedLibs, and NON_CONST_ITERATE.
Referenced by CProjectItemsTree::CreateFrom().
void CollectDllsDepends | ( | const CProjectItemsTree & | tree_src, |
const list< string > & | dll_ids, | ||
list< string > * | dll_depends_ids | ||
) |
Definition at line 535 of file msvc_dlls_info.cpp.
References CollectDllsDepends(), copy(), CProjKey::eDll, map_checker< Container >::end(), map_checker< Container >::find(), i, ITERATE, CProjectItemsTree::m_Projects, and n.
Referenced by CollectDllsDepends(), and CreateDllBuildTree().
void CreateDllBuildTree | ( | const CProjectItemsTree & | tree_src, |
CProjectItemsTree * | tree_dst | ||
) |
Definition at line 390 of file msvc_dlls_info.cpp.
References CollectDllsDepends(), CDirEntry::ConcatPath(), copy(), CreateDllsList(), CMsvcSite::e3PartyLib, CProjKey::eDll, CProjKey::eLib, eMakeType_Excluded, tree< T, tree_node_allocator >::end(), map_checker< Container >::end(), ePTB_ConfigurationError, ePTB_ProjectExcluded, ePTB_ProjectNotFound, FilterOutDllHostedProjects(), map_checker< Container >::find(), GetApp(), CMsvcSite::GetLibChoiceForLib(), CProjBulderApp::GetSite(), CMsvc7RegSettings::GetVcprojExt(), CProjBulderApp::GetWholeTree(), i, CProjKey::Id(), SMakeProjectT::IsConfigurableDefine(), ITERATE, kEmptyStr, CMsvcSite::SLibChoice::m_3PartyLib, CProjItem::m_Depends, CProjItem::m_HostedLibs, CProjItem::m_ID, CProjectItemsTree::m_Projects, CProjItem::m_Requires, CProjectItemsTree::m_RootSrc, CProjItem::m_SourcesBaseDir, n, NON_CONST_ITERATE, PTB_ERROR_EX, PTB_WARNING_EX, s_AddProjItemToDll(), and s_InitalizeDllProj().
Referenced by CProjBulderApp::Run().
void CreateDllsList | ( | const CProjectItemsTree & | tree_src, |
list< string > * | dll_ids | ||
) |
Definition at line 519 of file msvc_dlls_info.cpp.
References set< Key, Compare >::begin(), copy(), set< Key, Compare >::end(), set< Key, Compare >::insert(), ITERATE, and CProjectItemsTree::m_Projects.
Referenced by CreateDllBuildTree().
void FilterOutDllHostedProjects | ( | const CProjectItemsTree & | tree_src, |
CProjectItemsTree * | tree_dst | ||
) |
Definition at line 49 of file msvc_dlls_info.cpp.
References map_checker< Container >::clear(), CProjKey::eDll, CProjKey::eLib, ITERATE, CProjItem::m_DllHost, CProjectItemsTree::m_Projects, CProjectItemsTree::m_RootSrc, and CProjKey::Type().
Referenced by CreateDllBuildTree().
string GetDllHost | ( | const CProjectItemsTree & | tree, |
const string & | lib | ||
) |
Definition at line 374 of file msvc_dlls_info.cpp.
References CProjKey::eDll, ITERATE, kEmptyStr, ncbi::grid::netcache::search::fields::key, and CProjItem::m_HostedLibs.
Referenced by CMsvcPrjProjectContext::CMsvcPrjProjectContext(), CProjBulderApp::GenerateUnixProjects(), and s_AddProjItemToDll().
|
static |
Definition at line 142 of file msvc_dlls_info.cpp.
References map_checker< Container >::begin(), CDirEntry::ConcatPath(), copy(), SMakeProjectT::CreateMakeAppLibFileName(), SAppProjectT::CreateNcbiCToolkitLibs(), CDirEntry::CreateRelativePath(), CMsvcSite::e3PartyLib, CProjKey::eDll, CProjKey::eLib, eMakeType_Undefined, map_checker< Container >::empty(), map_checker< Container >::end(), f(), map_checker< Container >::find(), g(), GetApp(), CMsvcPrjProjectContext::GetCustomBuildInfo(), CProjBulderApp::GetDllFilesDistr(), GetDllHost(), CMsvcPrjFilesCollector::GetExtraFiles(), CMsvcSite::GetLibChoiceForLib(), CProjBulderApp::GetSite(), CMsvcPrjFilesCollector::HeaderFiles(), i, CProjKey::Id(), CMsvcPrjProjectContext::IncludeDirsAbs(), CMsvcPrjProjectContext::InlineDirsAbs(), CMsvcPrjFilesCollector::InlineFiles(), ITERATE, CMsvcSite::SLibChoice::m_3PartyLib, CSimpleMakeFileContents::m_Contents, CProjItem::m_CustomBuild, CProjItem::m_DatatoolSources, CProjItem::m_Defines, CProjItem::m_Depends, CProjItem::m_External, CProjItem::m_ExtraFiles, CProjItem::m_ID, CProjItem::m_IncludeDirs, CProjItem::m_Includes, CProjItem::m_Inlines, CProjItem::m_Libs3Party, CProjItem::m_MakeType, CProjItem::m_Name, CProjItem::m_NcbiCLibs, CProjectItemsTree::m_Projects, CProjItem::m_Requires, CProjItem::m_Sources, CProjItem::m_SourcesBaseDir, CProjItem::m_StyleObjcpp, CProjItem::m_Watchers, max(), CDirEntry::NormalizePath(), CMsvcPrjProjectContext::ProjectDir(), CDllSrcFilesDistr::RegisterExtraFile(), CDllSrcFilesDistr::RegisterHeader(), CDllSrcFilesDistr::RegisterInline(), CDllSrcFilesDistr::RegisterSource(), CMsvcPrjFilesCollector::SourceFiles(), and CDirEntry::SplitPath().
Referenced by CreateDllBuildTree().
|
static |
Definition at line 83 of file msvc_dlls_info.cpp.
References CDirEntry::ConcatPath(), CDirEntry::CreateRelativePath(), CProjKey::eApp, CProjKey::eDll, CProjKey::eLib, ePTB_MissingDependency, CMsvc7RegSettings::eUnix, GetApp(), CMsvc7RegSettings::GetMsvcPlatform(), CProjBulderApp::GetProjectTreeInfo(), if(), ITERATE, CProjBulderApp::m_AddMissingLibs, SProjectTreeInfo::m_Compilers, CProjItem::m_Depends, CProjectItemsTree::m_Projects, CProjItem::m_Sources, CProjItem::m_SourcesBaseDir, PTB_WARNING_EX, and s_IsInTree().
Referenced by CreateDllBuildTree().
|
static |
Definition at line 72 of file msvc_dlls_info.cpp.
References tree< T, tree_node_allocator >::end().
Referenced by s_InitalizeDllProj().