Exemple #1
0
        public override Sharpmake.Optimization GetOptimization()
        {
            switch (Optimization)
            {
            case Optimization.Debug:
                return(Sharpmake.Optimization.Debug);

            case Optimization.Release:
                return(Sharpmake.Optimization.Release);

            default:
                throw new NotSupportedException("Optimization value " + Optimization.ToString());
            }
        }
Exemple #2
0
 public void ToVcxprojProperties(XmlWriter writer)
 {
     if (AdditionalIncludeDirectories != null && AdditionalIncludeDirectories.Length > 0)
     {
         writer.WriteElementString("AdditionalIncludeDirectories", string.Join(";", AdditionalIncludeDirectories));
     }
     if (AdditionalOptions != null && AdditionalOptions.Length > 0)
     {
         writer.WriteElementString("AdditionalOptions", string.Join(";", AdditionalOptions));
     }
     if (AdditionalUsingDirectories != null && AdditionalUsingDirectories.Length > 0)
     {
         writer.WriteElementString("AdditionalUsingDirectories", string.Join(";", AdditionalUsingDirectories));
     }
     if (!string.IsNullOrWhiteSpace(AssemblerListingLocation))
     {
         writer.WriteElementString("AssemblerListingLocation", AssemblerListingLocation);
     }
     writer.WriteElementString("AssemblerOutput", AssemblerOutput.ToString());
     if (BasicRuntimeChecks != RuntimeCheckType.Default)
     {
         writer.WriteElementString("BasicRuntimeChecks", BasicRuntimeChecks.ToString());
     }
     if (!string.IsNullOrWhiteSpace("BrowseInformationFile"))
     {
         writer.WriteElementString("BrowseInformationFile", BrowseInformationFile);
     }
     writer.WriteElementString("BufferSecurityCheck", XmlConvert.ToString(BufferSecurityCheck));
     writer.WriteElementString("CallingConvention", CallingConvention.ToString());
     if (CompileAs != CLanguage.Default)
     {
         writer.WriteElementString("CompileAs", CompileAs.ToString());
     }
     writer.WriteElementString("CompileAsManaged", CompileAsManagedToString(CompileAsManaged));
     writer.WriteElementString("CreateHotpatchableImage", XmlConvert.ToString(CreateHotpatchableImage));
     if (DebugInformationFormat != DebugInformationFormat.None)
     {
         writer.WriteElementString("DebugInformationFormat", DebugInformationFormat.ToString());
     }
     writer.WriteElementString("DisableLanguageExtensions", XmlConvert.ToString(DisableLanguageExtensions));
     WriteStringArray(writer, "DisableSpecificWarnings", SuppressedWarnings.Select(warn => warn.ToString(CultureInfo.InvariantCulture)).ToArray());
     if (EnableEnhancedInstructionSet != EnhancedInstructionSet.None)
     {
         writer.WriteElementString("EnhancedInstructionSet", EnableEnhancedInstructionSet.ToString());
     }
     writer.WriteElementString("EnableFiberSafeOptimizations", XmlConvert.ToString(EnableFiberSafeOptimizations));
     writer.WriteElementString("CodeAnalysis", XmlConvert.ToString(CodeAnalysis));
     if (ExceptionHandling != ExceptionHandlingType.NotSpecified)
     {
         writer.WriteElementString("ExceptionHandling", ExceptionHandling.ToString());
     }
     writer.WriteElementString("ExpandAttributedSource", XmlConvert.ToString(ExpandAttributedSource));
     writer.WriteElementString("FavorSizeOrSpeed", Favor.ToString());
     writer.WriteElementString("FloatingPointExceptions", XmlConvert.ToString(FloatingPointExceptions));
     writer.WriteElementString("FloatingPointModel", FloatingPointModel.ToString());
     writer.WriteElementString("ForceConformanceInForLoopScope", XmlConvert.ToString(ForceConformanceInForLoopScope));
     WriteStringArray(writer, "ForcedUsingFiles", ForcedUsingFiles);
     writer.WriteElementString("FunctionLevelLinking", XmlConvert.ToString(FunctionLevelLinking));
     writer.WriteElementString("GenerateXMLDocumentationFiles", XmlConvert.ToString(GenerateXMLDocumentationFiles));
     writer.WriteElementString("IgnoreStandardIncludePath", XmlConvert.ToString(IgnoreStandardIncludePath));
     if (InlineFunctionExpansion != InlineExpansion.Default)
     {
         writer.WriteElementString("InlineFunctionExpansion", InlineFunctionExpansion.ToString());
     }
     writer.WriteElementString("IntrinsicFunctions", XmlConvert.ToString(IntrinsicFunctions));
     writer.WriteElementString("MinimalRebuild", XmlConvert.ToString(MinimalRebuild));
     writer.WriteElementString("MultiProcessorCompilation", XmlConvert.ToString(MultiProcessorCompilation));
     writer.WriteElementString("OmitDefaultLibName", XmlConvert.ToString(OmitDefaultLibName));
     writer.WriteElementString("OmitFramePointers", XmlConvert.ToString(OmitFramePointers));
     writer.WriteElementString("OpenMPSupport", XmlConvert.ToString(OpenMPSupport));
     writer.WriteElementString("Optimization", Optimization.ToString());
     WriteStringArray(writer, "PreprocessorDefinitions", Defines);
     if (ProcessorNumber.HasValue)
     {
         writer.WriteElementString("ProcessorNumber", ProcessorNumber.Value.ToString(CultureInfo.InvariantCulture));
     }
     writer.WriteElementString("RuntimeLibrary", RuntimeLibrary.ToString());
     writer.WriteElementString("RuntimeTypeInfo", XmlConvert.ToString(RuntimeTypeInfo));
     writer.WriteElementString("SmallerTypeCheck", XmlConvert.ToString(SmallerTypeCheck));
     writer.WriteElementString("StringPooling", XmlConvert.ToString(StringPooling));
     if (StructMemberAlignment.HasValue)
     {
         writer.WriteElementString("StructMemberAlignment", StructMemberAlignment.Value.ToString(CultureInfo.InvariantCulture));
     }
     writer.WriteElementString("AllWarningsAsError", XmlConvert.ToString(AllWarningsAsError));
     WriteStringArray(writer, "SpecificWarningsAsError", SpecificWarningsAsError.Select(warn => warn.ToString(CultureInfo.InvariantCulture)).ToArray());
     writer.WriteElementString("TreatWCharTAsBuiltInType", XmlConvert.ToString(TreatWCharTAsBuiltInType));
     writer.WriteElementString("UndefineAllPreprocessorDefinitions", XmlConvert.ToString(UndefineAllPreprocessorDefinitions));
     WriteStringArray(writer, "UndefinePreprocessorDefinitions", UndefinePreprocessorDefinitions);
     writer.WriteElementString("WarningLevel", WarningLevelToString(WarningLevel));
     writer.WriteElementString("WholeProgramOptimization", XmlConvert.ToString(WholeProgramOptimization));
     writer.WriteElementString("ProgramDataBaseFileName", PDBFileName);
 }
Exemple #3
0
        /// <summary>
        /// Calls the API with the source file as post data.
        /// </summary>
        /// <param name="source">The content of the source file.</param>
        /// <returns>The Xml response from the Google API.</returns>
        private static XmlDocument CallApi(string source, Optimization optimization = Optimization.SIMPLE_OPTIMIZATIONS)
        {
            using (WebClient client = new WebClient())
            {
                client.Headers.Add("content-type", "application/x-www-form-urlencoded");
                string data   = string.Format(PostData, HttpUtility.UrlEncode(source), optimization.ToString());
                string result = client.UploadString(ApiEndpoint, data);

                XmlDocument doc = new XmlDocument();
                doc.LoadXml(result);
                return(doc);
            }
        }