private void OptimizationDisabledFor(VCppProjectCompilerParameters p) { p.Favor.Should().Be(OptimizationFavor.Speed); p.Optimization.Should().Be(OptimizationLevel.Disabled); p.WholeProgramOptimization.Should().BeFalse(); p.SmallerTypeCheck.Should().BeTrue(); }
public override void Write(XmlWriter writer, Project project, IMSBuildProjectGeneratorContext context) { var platform = platformManagement.GetDefaultPlatform(project); var cliMode = project.GetCLIMode(); writer.WriteStartElement("ItemGroup"); writer.WriteAttributeString("Label", "ProjectConfigurations"); writer.WriteStartElement("ProjectConfiguration"); writer.WriteAttributeString("Include", string.Format("Bari|{0}", platform)); writer.WriteElementString("Configuration", "Bari"); writer.WriteElementString("Platform", platform); writer.WriteEndElement(); writer.WriteEndElement(); writer.WriteStartElement("PropertyGroup"); writer.WriteAttributeString("Label", "Globals"); writer.WriteElementString("ProjectGuid", projectGuidManagement.GetGuid(project).ToString("B")); if (cliMode == CppCliMode.Disabled) { writer.WriteElementString("Keyword", "Win32Proj"); } else { VCppProjectCompilerParameters compilerParameters = project.GetInheritableParameters <VCppProjectCompilerParameters, VCppProjectCompilerParametersDef>("cpp-compiler"); compilerParameters.WriteGlobalProperties(writer); writer.WriteElementString("Keyword", "ManagedCProj"); writer.WriteElementString("RootNamespace", project.Name); } writer.WriteEndElement(); writer.WriteStartElement("PropertyGroup"); writer.WriteAttributeString("Condition", string.Format("'$(Configuration)|$(Platform)' == 'Bari|{0}' ", platform)); writer.WriteAttributeString("Label", "Configuration"); WriteHighLevelConfigurationSpecificPart(writer, project); writer.WriteEndElement(); writer.WriteStartElement("Import"); writer.WriteAttributeString("Project", @"$(VCTargetsPath)\Microsoft.Cpp.props"); writer.WriteEndElement(); writer.WriteStartElement("PropertyGroup"); writer.WriteAttributeString("Condition", string.Format("'$(Configuration)|$(Platform)' == 'Bari|{0}' ", platform)); WriteConfigurationSpecificPart(writer, project); writer.WriteEndElement(); writer.WriteStartElement("ItemDefinitionGroup"); writer.WriteAttributeString("Condition", string.Format(" '$(Configuration)|$(Platform)' == 'Bari|{0}' ", platform)); WriteMIDLParameters(writer, project); WriteCompilerParameters(writer, project); WriteLinkerParameters(writer, project); WriteManifestParameters(writer, project); WriteResourceCompilerParameters(writer, project); writer.WriteEndElement(); }
public void DefaultReleaseOptimizationWrittenToVcxproj() { var p = new VCppProjectCompilerParameters(releaseSuite); var xml = GetProperties(p); var defineNodes = xml.SelectNodes("Optimization"); defineNodes.Should().NotBeNull(); defineNodes.Count.Should().Be(1); defineNodes[0].InnerText.Should().Be("Full"); }
public void DefaultReleaseDefinesWrittenToVcxproj() { var p = new VCppProjectCompilerParameters(releaseSuite); var xml = GetProperties(p); var defineNodes = xml.SelectNodes("PreprocessorDefinitions"); defineNodes.Should().NotBeNull(); defineNodes.Count.Should().Be(1); defineNodes[0].InnerText.Should().Be("NDEBUG"); }
private XmlElement GetProperties(VCppProjectCompilerParameters p) { using (var writer = new StringWriter()) using (var xmlWriter = new XmlTextWriter(writer)) { xmlWriter.WriteStartElement("Root"); p.ToVcxprojProperties(xmlWriter); xmlWriter.WriteEndElement(); var doc = new XmlDocument(); doc.LoadXml(writer.ToString()); return(doc.DocumentElement); } }
private void WriteCompilerParameters(XmlWriter writer, Project project) { VCppProjectCompilerParameters compilerParameters = project.GetInheritableParameters <VCppProjectCompilerParameters, VCppProjectCompilerParametersDef>("cpp-compiler"); compilerParameters.FillProjectSpecificMissingInfo(project, project.GetCLIMode(), targetDir as LocalFileSystemDirectory); writer.WriteStartElement("ClCompile"); compilerParameters.ToVcxprojProperties(writer); if (project.GetSourceSet("cpp").Files.Any(file => Path.GetFileName(file) == "stdafx.cpp")) { writer.WriteElementString("PrecompiledHeader", "Use"); } writer.WriteEndElement(); }
public void DefaultDefinesForRelease() { var p = new VCppProjectCompilerParameters(releaseSuite); HasReleaseDefines(p); }
private void HasReleaseDefines(VCppProjectCompilerParameters p) { p.Defines.Should().Contain("NDEBUG"); p.Defines.Should().NotContain("_DEBUG"); }
public void OptimizationDisabledForCustomDebug() { var p1 = new VCppProjectCompilerParameters(customDebugSuite); OptimizationDisabledFor(p1); }
public void OptimizationEnabledForCustomRelease() { var p1 = new VCppProjectCompilerParameters(customReleaseSuite); OptimizationEnabledFor(p1); }
public void DefaultDefinesForCustomDebug() { var p = new VCppProjectCompilerParameters(customDebugSuite); HasDebugDefines(p); }