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 + -
显示快捷键?