📄 msvc_project_context.cpp
字号:
}IWebServiceProxyGeneratorTool* CMsvcTools::WebServiceProxyGenerator(void) const{ return m_WebServiceProxyGenerator.get();}IXMLDataGeneratorTool* CMsvcTools::XMLDataGenerator(void) const{ return m_XMLDataGenerator.get();}IManagedWrapperGeneratorTool* CMsvcTools::ManagedWrapperGenerator(void) const{ return m_ManagedWrapperGenerator.get();}IAuxiliaryManagedWrapperGeneratorTool* CMsvcTools::AuxiliaryManagedWrapperGenerator(void) const{ return m_AuxiliaryManagedWrapperGenerator.get();}CMsvcTools::~CMsvcTools(){}static bool s_IsExe(const CMsvcPrjGeneralContext& general_context, const CMsvcPrjProjectContext& project_context){ return general_context.m_Type == CMsvcPrjGeneralContext::eExe;}static bool s_IsLib(const CMsvcPrjGeneralContext& general_context, const CMsvcPrjProjectContext& project_context){ return general_context.m_Type == CMsvcPrjGeneralContext::eLib;}static bool s_IsDll(const CMsvcPrjGeneralContext& general_context, const CMsvcPrjProjectContext& project_context){ return general_context.m_Type == CMsvcPrjGeneralContext::eDll;}static bool s_IsDebug(const CMsvcPrjGeneralContext& general_context, const CMsvcPrjProjectContext& project_context){ return general_context.m_Config.m_Debug;}static bool s_IsRelease(const CMsvcPrjGeneralContext& general_context, const CMsvcPrjProjectContext& project_context){ return !(general_context.m_Config.m_Debug);}//-----------------------------------------------------------------------------// Creators:static IConfiguration* s_CreateConfiguration(const CMsvcPrjGeneralContext& general_context, const CMsvcPrjProjectContext& project_context){ if ( s_IsExe(general_context, project_context) ) return new CConfigurationImpl<SApp> (general_context.OutputDirectory(), general_context.ConfigurationName()); if ( s_IsLib(general_context, project_context) ) return new CConfigurationImpl<SLib> (general_context.OutputDirectory(), general_context.ConfigurationName()); if ( s_IsDll(general_context, project_context) ) return new CConfigurationImpl<SDll> (general_context.OutputDirectory(), general_context.ConfigurationName()); return NULL;}static ICompilerTool* s_CreateCompilerTool(const CMsvcPrjGeneralContext& general_context, const CMsvcPrjProjectContext& project_context){ return new CCompilerToolImpl (project_context.AdditionalIncludeDirectories(general_context.m_Config), project_context.GetMsvcProjectMakefile(), general_context.m_Config.m_RuntimeLibrary, general_context.GetMsvcMetaMakefile(), general_context.m_Config, general_context.m_Type, project_context.Defines(general_context.m_Config));}static ILinkerTool* s_CreateLinkerTool(const CMsvcPrjGeneralContext& general_context, const CMsvcPrjProjectContext& project_context){ //---- EXE ---- if ( s_IsExe (general_context, project_context) ) return new CLinkerToolImpl<SApp> (project_context.AdditionalLinkerOptions (general_context.m_Config), project_context.AdditionalLibraryDirectories (general_context.m_Config), project_context.ProjectId(), project_context.GetMsvcProjectMakefile(), general_context.GetMsvcMetaMakefile(), general_context.m_Config); //---- LIB ---- if ( s_IsLib(general_context, project_context) ) return new CLinkerToolDummyImpl(); //---- DLL ---- if ( s_IsDll (general_context, project_context) ) return new CLinkerToolImpl<SDll> (project_context.AdditionalLinkerOptions (general_context.m_Config), project_context.AdditionalLibraryDirectories (general_context.m_Config), project_context.ProjectId(), project_context.GetMsvcProjectMakefile(), general_context.GetMsvcMetaMakefile(), general_context.m_Config); // unsupported tool return NULL;}static ILibrarianTool* s_CreateLibrarianTool(const CMsvcPrjGeneralContext& general_context, const CMsvcPrjProjectContext& project_context){ if ( s_IsLib (general_context, project_context) ) return new CLibrarianToolImpl (project_context.ProjectId(), project_context.GetMsvcProjectMakefile(), general_context.GetMsvcMetaMakefile(), general_context.m_Config); // dummy tool return new CLibrarianToolDummyImpl();}static IResourceCompilerTool* s_CreateResourceCompilerTool (const CMsvcPrjGeneralContext& general_context, const CMsvcPrjProjectContext& project_context){ if ( s_IsDll (general_context, project_context) && s_IsDebug(general_context, project_context) ) return new CResourceCompilerToolImpl<SDebug> (project_context.AdditionalIncludeDirectories(general_context.m_Config), project_context.GetMsvcProjectMakefile(), general_context.GetMsvcMetaMakefile(), general_context.m_Config); if ( s_IsDll (general_context, project_context) && s_IsRelease(general_context, project_context) ) return new CResourceCompilerToolImpl<SRelease> (project_context.AdditionalIncludeDirectories(general_context.m_Config), project_context.GetMsvcProjectMakefile(), general_context.GetMsvcMetaMakefile(), general_context.m_Config); if ( s_IsExe (general_context, project_context) && s_IsDebug(general_context, project_context) ) return new CResourceCompilerToolImpl<SDebug> (project_context.AdditionalIncludeDirectories(general_context.m_Config), project_context.GetMsvcProjectMakefile(), general_context.GetMsvcMetaMakefile(), general_context.m_Config); if ( s_IsExe (general_context, project_context) && s_IsRelease(general_context, project_context) ) return new CResourceCompilerToolImpl<SRelease> (project_context.AdditionalIncludeDirectories(general_context.m_Config), project_context.GetMsvcProjectMakefile(), general_context.GetMsvcMetaMakefile(), general_context.m_Config); // dummy tool return new CResourceCompilerToolDummyImpl();}END_NCBI_SCOPE/* * =========================================================================== * $Log: msvc_project_context.cpp,v $ * Revision 1000.4 2004/06/16 17:02:34 gouriano * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.33 * * Revision 1.33 2004/06/15 19:01:40 gorelenk * Fixed compilation errors on GCC 2.95 . * * Revision 1.32 2004/06/10 15:16:46 gorelenk * Changed macrodefines to be comply with GCC 3.4.0 . * * Revision 1.31 2004/06/07 19:16:07 gorelenk * + Taking into account 'impl' in creation of header dir list. * * Revision 1.30 2004/06/07 13:56:17 gorelenk * Changed CMsvcPrjProjectContext::GetMsvcProjectMakefile to accomodate * project creation rules. * * Revision 1.29 2004/05/21 21:41:41 gorelenk * Added PCH ncbi_pch.hpp * * Revision 1.28 2004/05/11 15:55:03 gorelenk * Changed CMsvcPrjProjectContext::IsConfigEnabled - added test REQUIRES. * * Revision 1.27 2004/05/10 19:52:04 gorelenk * Changed CMsvcPrjProjectContext class constructor . * * Revision 1.26 2004/04/19 15:44:50 gorelenk * Changed implementation of class CMsvcPrjProjectContext constructor: * added lib choice test while creating list of dependencies (m_ProjectLibs). * * Revision 1.25 2004/04/13 17:08:55 gorelenk * Changed implementation of class CMsvcPrjProjectContext constructor. * * Revision 1.24 2004/03/22 14:50:50 gorelenk * Removed implementation of * CMsvcPrjProjectContext::AdditionalLibrarianOptions . * Added implemetation of CMsvcPrjProjectContext::Defines . * * Revision 1.23 2004/03/16 21:46:17 gorelenk * Changed implementation of * CMsvcPrjProjectContext::AdditionalIncludeDirectories : implemented * uniqueness of include dirs from 3-party libraries. * * Revision 1.22 2004/03/16 16:37:33 gorelenk * Changed msvc7_prj subdirs structure: Separated "static" and "dll" branches. * * Revision 1.21 2004/03/10 21:28:42 gorelenk * Changed implementation of class CMsvcPrjProjectContext constructor. * * Revision 1.20 2004/03/10 16:44:21 gorelenk * Changed implementation of class CMsvcPrjProjectContext. * * Revision 1.19 2004/03/08 23:36:11 gorelenk * Changed implementation of class CMsvcPrjProjectContext constructor. * * Revision 1.18 2004/03/02 23:33:55 gorelenk * Changed implementation of class CMsvcPrjGeneralContext constructor. * * Revision 1.17 2004/02/26 15:15:38 gorelenk * Changed implementation of CMsvcPrjProjectContext::IsConfigEnabled. * * Revision 1.16 2004/02/24 20:54:26 gorelenk * Added implementation of member-function bool IsConfigEnabled * of class CMsvcPrjProjectContext. * * Revision 1.15 2004/02/24 18:13:26 gorelenk * Changed implementation of class CMsvcPrjProjectContext constructor. * Changed implementation of member-function AdditionalLinkerOptions of * class CMsvcPrjProjectContext. * * Revision 1.14 2004/02/23 20:58:41 gorelenk * Fixed double properties apperience in generated MSVC projects. * * Revision 1.13 2004/02/23 20:42:57 gorelenk * Added support of MSVC ResourceCompiler tool. * * Revision 1.12 2004/02/20 22:53:26 gorelenk * Added analysis of ASN projects depends. * * Revision 1.11 2004/02/06 23:14:59 gorelenk * Implemented support of ASN projects, semi-auto configure, * CPPFLAGS support. Second working version. * * Revision 1.10 2004/02/05 16:28:47 gorelenk * GetComponents was moved to class CMsvcSite. * * Revision 1.9 2004/02/05 00:02:08 gorelenk * Added support of user site and Makefile defines. * * Revision 1.8 2004/02/03 17:17:38 gorelenk * Changed implementation of class CMsvcPrjProjectContext constructor. * * Revision 1.7 2004/01/29 15:46:44 gorelenk * Added support of default libs, defined in user site * * Revision 1.6 2004/01/28 17:55:49 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.5 2004/01/26 19:27:29 gorelenk * += MSVC meta makefile support * += MSVC project makefile support * * Revision 1.4 2004/01/22 17:57:54 gorelenk * first version * * =========================================================================== */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -