msvc_project_context.hpp
来自「ncbi源码」· HPP 代码 · 共 586 行 · 第 1/2 页
HPP
586 行
virtual string PreprocessorDefinitions(void) const = 0; virtual string MinimalRebuild(void) const = 0; virtual string BasicRuntimeChecks(void) const = 0; virtual string RuntimeLibrary(void) const = 0; virtual string RuntimeTypeInfo(void) const = 0; virtual string UsePrecompiledHeader(void) const = 0; virtual string WarningLevel(void) const = 0; virtual string Detect64BitPortabilityProblems(void) const = 0; virtual string DebugInformationFormat(void) const = 0; virtual string CompileAs(void) const = 0; //For release - EXE DLL LIB virtual string InlineFunctionExpansion(void) const = 0; virtual string OmitFramePointers(void) const = 0; virtual string StringPooling(void) const = 0; virtual string EnableFunctionLevelLinking(void) const = 0; //Latest additions virtual string OptimizeForProcessor(void) const = 0; virtual string StructMemberAlignment(void) const = 0; virtual string CallingConvention(void) const = 0; virtual string IgnoreStandardIncludePath(void) const = 0; virtual string ExceptionHandling(void) const = 0; virtual string BufferSecurityCheck(void) const = 0; virtual string DisableSpecificWarnings(void) const = 0; virtual string UndefinePreprocessorDefinitions(void) const = 0; virtual string AdditionalOptions(void) const = 0; virtual string GlobalOptimizations(void) const = 0; virtual string FavorSizeOrSpeed(void) const = 0; virtual string BrowseInformation(void) const = 0;};/////////////////////////////////////////////////////////////////////////////////// ILinkerTool --////// "LinkerTool" interface.////// Abstract class.struct ILinkerTool : public ITool{ //string Name : "VCLinkerTool" virtual string AdditionalOptions(void) const = 0; virtual string OutputFile(void) const = 0; virtual string LinkIncremental(void) const = 0; virtual string GenerateDebugInformation(void) const = 0; virtual string ProgramDatabaseFile(void) const = 0; virtual string SubSystem(void) const = 0; virtual string ImportLibrary(void) const = 0; virtual string TargetMachine(void) const = 0; //release - EXE DLL += virtual string OptimizeReferences(void) const = 0; virtual string EnableCOMDATFolding(void) const = 0; //Latest additions virtual string IgnoreAllDefaultLibraries(void) const = 0; virtual string IgnoreDefaultLibraryNames(void) const = 0; virtual string AdditionalLibraryDirectories(void) const = 0;};/////////////////////////////////////////////////////////////////////////////////// ILibrarianTool --////// "LibrarianTool" interface.////// Abstract class.struct ILibrarianTool : public ITool{ //string Name : "VCLibrarianTool" virtual string AdditionalOptions(void) const = 0; virtual string OutputFile(void) const = 0; virtual string IgnoreAllDefaultLibraries(void) const = 0; virtual string IgnoreDefaultLibraryNames(void) const = 0; //Latest additions virtual string AdditionalLibraryDirectories(void) const = 0;};/// Dummies - Name - only tools. Must present in msvc proj:struct ICustomBuildTool : public ITool{ //Name : "VCCustomBuildTool"};struct IMIDLTool : public ITool{ //Name : "VCMIDLTool"};struct IPostBuildEventTool : public ITool{ //Name : "VCPostBuildEventTool"};/// Not a dummy for lib projectsstruct IPreBuildEventTool : public ITool{ //Name : "VCPreBuildEventTool" virtual string CommandLine(void) const = 0;};struct IPreLinkEventTool : public ITool{ //Name : "VCPreLinkEventTool"};/////////////////////////////////////////////////////////////////////////////////// IResourceCompilerTool --////// "ResourceCompilerTool" interface.////// Abstract class.struct IResourceCompilerTool : public ITool{ //Name : "VCResourceCompilerTool" //must be implemented for Dll and Windows apps virtual string AdditionalIncludeDirectories(void) const = 0; virtual string AdditionalOptions(void) const = 0; virtual string Culture(void) const = 0; virtual string PreprocessorDefinitions(void) const = 0;};/// Dummies - Name - only tools. Must present in msvc proj:struct IWebServiceProxyGeneratorTool : public ITool{ //Name : "VCWebServiceProxyGeneratorTool"};struct IXMLDataGeneratorTool : public ITool{ //Name : "VCXMLDataGeneratorTool"};struct IManagedWrapperGeneratorTool : public ITool{ //Name : "VCManagedWrapperGeneratorTool"};struct IAuxiliaryManagedWrapperGeneratorTool : public ITool{ //Name : "VCAuxiliaryManagedWrapperGeneratorTool"};/////////////////////////////////////////////////////////////////////////////////// CMsvcTools --////// Abstraction of MSVC 7.10 C++ project build tools.////// Provides all tools interfaces. Tools implementation will depends upon/// project general and project specific contexts.class CMsvcTools{public: CMsvcTools(const CMsvcPrjGeneralContext& general_context, const CMsvcPrjProjectContext& project_context); ~CMsvcTools(); IConfiguration * Configuration (void) const; ICompilerTool * Compiler (void) const; ILinkerTool * Linker (void) const; ILibrarianTool * Librarian (void) const; ICustomBuildTool * CustomBuid (void) const; IMIDLTool * MIDL (void) const; IPostBuildEventTool * PostBuildEvent(void) const; IPreBuildEventTool * PreBuildEvent (void) const; IPreLinkEventTool * PreLinkEvent (void) const; IResourceCompilerTool * ResourceCompiler (void) const; IWebServiceProxyGeneratorTool * WebServiceProxyGenerator (void) const; IXMLDataGeneratorTool * XMLDataGenerator (void) const; IManagedWrapperGeneratorTool * ManagedWrapperGenerator (void) const; IAuxiliaryManagedWrapperGeneratorTool * AuxiliaryManagedWrapperGenerator(void) const;private: auto_ptr<IConfiguration> m_Configuration; auto_ptr<ICompilerTool> m_Compiler; auto_ptr<ILinkerTool> m_Linker; auto_ptr<ILibrarianTool> m_Librarian; auto_ptr<ICustomBuildTool> m_CustomBuid; auto_ptr<IMIDLTool> m_MIDL; auto_ptr<IPostBuildEventTool> m_PostBuildEvent; auto_ptr<IPreBuildEventTool> m_PreBuildEvent; auto_ptr<IPreLinkEventTool> m_PreLinkEvent; auto_ptr<IResourceCompilerTool> m_ResourceCompiler; auto_ptr<IWebServiceProxyGeneratorTool> m_WebServiceProxyGenerator; auto_ptr<IXMLDataGeneratorTool> m_XMLDataGenerator; auto_ptr<IManagedWrapperGeneratorTool> m_ManagedWrapperGenerator; auto_ptr<IAuxiliaryManagedWrapperGeneratorTool> m_AuxiliaryManagedWrapperGenerator; //this is not a value-type class CMsvcTools(); CMsvcTools(const CMsvcTools&); CMsvcTools& operator= (const CMsvcTools&);};END_NCBI_SCOPE/* * =========================================================================== * $Log: msvc_project_context.hpp,v $ * Revision 1000.1 2004/06/16 17:05:04 gouriano * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.17 * * Revision 1.17 2004/06/10 15:12:55 gorelenk * Added newline at the file end to avoid GCC warning. * * Revision 1.16 2004/06/07 13:53:07 gorelenk * Changed signature of member-function GetMsvcProjectMakefile * of class CMsvcPrjProjectContext. * * Revision 1.15 2004/03/22 14:44:35 gorelenk * Changed declaration of member-function Defines * of class CMsvcPrjProjectContext. * * Revision 1.14 2004/03/10 16:43:41 gorelenk * Changed declaration of class CMsvcPrjProjectContext. * * Revision 1.13 2004/03/08 23:29:02 gorelenk * Added member-function ProjectId to class CMsvcPrjProjectContext. * * Revision 1.12 2004/03/05 18:10:17 gorelenk * Removed member-function IncludeDirsRoot() * from class CMsvcPrjProjectContext. * * Revision 1.11 2004/02/24 20:50:03 gorelenk * Added declaration of member-function IsConfigEnabled * to class CMsvcPrjProjectContext. * * Revision 1.10 2004/02/24 17:17:45 gorelenk * Added member m_NcbiCLibs to class CMsvcPrjProjectContext. * * Revision 1.9 2004/02/23 20:43:42 gorelenk * Added support of MSVC ResourceCompiler tool. * * Revision 1.8 2004/02/20 22:54:45 gorelenk * Added analysis of ASN projects depends. * * Revision 1.7 2004/02/06 23:15:40 gorelenk * Implemented support of ASN projects, semi-auto configure, * CPPFLAGS support. Second working version. * * Revision 1.6 2004/02/03 17:08:07 gorelenk * Changed declaration of class CMsvcPrjProjectContext. * * Revision 1.5 2004/01/28 17:55:06 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.4 2004/01/26 19:25:41 gorelenk * += MSVC meta makefile support * += MSVC project makefile support * * Revision 1.3 2004/01/22 17:57:08 gorelenk * first version * * =========================================================================== */#endif //PROJECT_TREE_BUILDER__PROJECT_CONTEXT__HPP
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?