Example #1
0
 public MsvcPreProcess(BuildGraph buildGraph, MsvcPreProcessParams p)
     : base(buildGraph)
 {
     m_params = p.Canonicalize();
 }
        static MsvcCompile PpAndCompileOne(BuildGraph buildGraph, string sourceFile)
        {
            string sourceFileName = Path.GetFileName(sourceFile);

            string iName = Path.Combine(buildFileDir, QRPath.ChangeExtension(sourceFileName, ".i"));
            var ppp = new MsvcPreProcessParams();
            ppp.VcBinDir = vcBinDir;
            ppp.ToolChain = toolChain;
            ppp.CompileDir = compileDir;
            ppp.BuildFileDir = buildFileDir;
            ppp.SourceFile = sourceFile;
            ppp.OutputPath = iName;
            ppp.IncludeDirs.Add(@"K:\work\code\lib\boost_1_43_0");
            var pp = new MsvcPreProcess(buildGraph, ppp);

            string objName = Path.Combine(buildFileDir, QRPath.ChangeExtension(sourceFileName, ".obj"));
            var ccp = new MsvcCompileParams();
            ccp.VcBinDir = vcBinDir;
            ccp.ToolChain = toolChain;
            ccp.CompileDir = compileDir;
            ccp.BuildFileDir = buildFileDir;
            ccp.CheckForImplicitIO = false;
            ccp.SourceFile = iName;
            ccp.ObjectPath = objName;
            ccp.Compile = true;
            ccp.DebugInfoFormat = MsvcDebugInfoFormat.Normal;
            ccp.CppExceptions = MsvcCppExceptions.Enabled;
            ccp.CompileAsCpp = true;
            var cc = new MsvcCompile(buildGraph, ccp);
            return cc;
        }