You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

131 lines
6.1 KiB

4 years ago
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
  3. <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  4. <Import Project="Microsoft.Managed.Core.targets"/>
  5. <Target Name="CoreCompile"
  6. Inputs="$(MSBuildAllProjects);
  7. @(Compile);
  8. @(_CoreCompileResourceInputs);
  9. $(ApplicationIcon);
  10. $(AssemblyOriginatorKeyFile);
  11. @(ReferencePathWithRefAssemblies);
  12. @(CompiledLicenseFile);
  13. @(LinkResource);
  14. @(EmbeddedDocumentation);
  15. $(Win32Resource);
  16. $(Win32Manifest);
  17. @(CustomAdditionalCompileInputs);
  18. $(ResolvedCodeAnalysisRuleSet);
  19. @(AdditionalFiles);
  20. @(EmbeddedFiles)"
  21. Outputs="@(DocFileItem);
  22. @(IntermediateAssembly);
  23. @(IntermediateRefAssembly);
  24. @(_DebugSymbolsIntermediatePath);
  25. $(NonExistentFile);
  26. @(CustomAdditionalCompileOutputs)"
  27. Returns="@(VbcCommandLineArgs)"
  28. DependsOnTargets="$(CoreCompileDependsOn);_BeforeVBCSCoreCompile">
  29. <PropertyGroup>
  30. <_NoWarnings Condition="'$(WarningLevel)' == '0'">true</_NoWarnings>
  31. <_NoWarnings Condition="'$(WarningLevel)' == '1'">false</_NoWarnings>
  32. </PropertyGroup>
  33. <PropertyGroup>
  34. <!-- If we are targeting winmdobj we want to specifically the pdbFile property since we do not want it to collide with the output of winmdexp-->
  35. <PdbFile Condition="'$(PdbFile)' == '' AND '$(OutputType)' == 'winmdobj' AND '$(DebugSymbols)' == 'true'">$(IntermediateOutputPath)$(TargetName).compile.pdb</PdbFile>
  36. </PropertyGroup>
  37. <!-- Condition is to filter out the _CoreCompileResourceInputs so that it doesn't pass in culture resources to the compiler -->
  38. <Vbc Condition="'%(_CoreCompileResourceInputs.WithCulture)' != 'true'"
  39. AdditionalLibPaths="$(AdditionalLibPaths)"
  40. AddModules="@(AddModules)"
  41. AdditionalFiles="@(AdditionalFiles)"
  42. Analyzers="@(Analyzer)"
  43. BaseAddress="$(BaseAddress)"
  44. ChecksumAlgorithm="$(ChecksumAlgorithm)"
  45. CodeAnalysisRuleSet="$(ResolvedCodeAnalysisRuleSet)"
  46. CodePage="$(CodePage)"
  47. DebugType="$(DebugType)"
  48. DefineConstants="$(FinalDefineConstants)"
  49. DelaySign="$(DelaySign)"
  50. DisabledWarnings="$(NoWarn)"
  51. DocumentationFile="@(DocFileItem)"
  52. EmbedAllSources="$(EmbedAllSources)"
  53. EmbeddedFiles="@(EmbeddedFiles)"
  54. EmitDebugInformation="$(DebugSymbols)"
  55. EnvironmentVariables="$(VbcEnvironment)"
  56. ErrorLog="$(ErrorLog)"
  57. ErrorReport="$(ErrorReport)"
  58. Features="$(Features)"
  59. FileAlignment="$(FileAlignment)"
  60. GenerateDocumentation="$(GenerateDocumentation)"
  61. HighEntropyVA="$(HighEntropyVA)"
  62. Imports="@(Import)"
  63. Instrument="$(Instrument)"
  64. KeyContainer="$(KeyContainerName)"
  65. KeyFile="$(KeyOriginatorFile)"
  66. LangVersion="$(LangVersion)"
  67. LinkResources="@(LinkResource)"
  68. MainEntryPoint="$(StartupObject)"
  69. ModuleAssemblyName="$(ModuleAssemblyName)"
  70. NoConfig="true"
  71. NoStandardLib="$(NoCompilerStandardLib)"
  72. NoVBRuntimeReference="$(NoVBRuntimeReference)"
  73. NoWarnings="$(_NoWarnings)"
  74. NoWin32Manifest="$(NoWin32Manifest)"
  75. Optimize="$(Optimize)"
  76. Deterministic="$(Deterministic)"
  77. PublicSign="$(PublicSign)"
  78. OptionCompare="$(OptionCompare)"
  79. OptionExplicit="$(OptionExplicit)"
  80. OptionInfer="$(OptionInfer)"
  81. OptionStrict="$(OptionStrict)"
  82. OptionStrictType="$(OptionStrictType)"
  83. OutputAssembly="@(IntermediateAssembly)"
  84. OutputRefAssembly="@(IntermediateRefAssembly)"
  85. PdbFile="$(PdbFile)"
  86. Platform="$(PlatformTarget)"
  87. Prefer32Bit="$(Prefer32Bit)"
  88. PreferredUILang="$(PreferredUILang)"
  89. ProvideCommandLineArgs="$(ProvideCommandLineArgs)"
  90. References="@(ReferencePathWithRefAssemblies)"
  91. RemoveIntegerChecks="$(RemoveIntegerChecks)"
  92. ReportAnalyzer="$(ReportAnalyzer)"
  93. Resources="@(_CoreCompileResourceInputs);@(CompiledLicenseFile)"
  94. ResponseFiles="$(CompilerResponseFile)"
  95. RootNamespace="$(RootNamespace)"
  96. RuntimeMetadataVersion="$(RuntimeMetadataVersion)"
  97. SdkPath="$(FrameworkPathOverride)"
  98. SharedCompilationId="$(SharedCompilationId)"
  99. SkipCompilerExecution="$(SkipCompilerExecution)"
  100. Sources="@(Compile)"
  101. SubsystemVersion="$(SubsystemVersion)"
  102. TargetCompactFramework="$(TargetCompactFramework)"
  103. TargetType="$(OutputType)"
  104. ToolExe="$(VbcToolExe)"
  105. ToolPath="$(VbcToolPath)"
  106. TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
  107. UseHostCompilerIfAvailable="$(UseHostCompilerIfAvailable)"
  108. UseSharedCompilation="$(UseSharedCompilation)"
  109. Utf8Output="$(Utf8Output)"
  110. VBRuntimePath="$(VBRuntimePath)"
  111. Verbosity="$(VbcVerbosity)"
  112. VsSessionGuid="$(VsSessionGuid)"
  113. WarningsAsErrors="$(WarningsAsErrors)"
  114. WarningsNotAsErrors="$(WarningsNotAsErrors)"
  115. Win32Icon="$(ApplicationIcon)"
  116. Win32Manifest="$(Win32Manifest)"
  117. Win32Resource="$(Win32Resource)"
  118. VBRuntime="$(VBRuntime)"
  119. PathMap="$(PathMap)"
  120. SourceLink="$(SourceLink)">
  121. <Output TaskParameter="CommandLineArgs" ItemName="VbcCommandLineArgs" />
  122. </Vbc>
  123. <ItemGroup>
  124. <_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" />
  125. </ItemGroup>
  126. <CallTarget Targets="$(TargetsTriggeredByCompilation)" Condition="'$(TargetsTriggeredByCompilation)' != ''" />
  127. </Target>
  128. </Project>