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.

142 lines
6.2 KiB

4 years ago
  1. <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  2. <Target
  3. Name="CoreCompile"
  4. Inputs="$(MSBuildAllProjects);
  5. @(Compile);
  6. @(_CoreCompileResourceInputs);
  7. $(ApplicationIcon);
  8. $(AssemblyOriginatorKeyFile);
  9. @(ReferencePath);
  10. @(CompiledLicenseFile);
  11. @(LinkResource);
  12. @(EmbeddedDocumentation);
  13. $(Win32Resource);
  14. $(Win32Manifest);
  15. @(CustomAdditionalCompileInputs);
  16. $(ResolvedCodeAnalysisRuleSet)"
  17. Outputs="@(DocFileItem);
  18. @(IntermediateAssembly);
  19. @(_DebugSymbolsIntermediatePath);
  20. $(NonExistentFile);
  21. @(CustomAdditionalCompileOutputs)"
  22. Returns="@(VbcCommandLineArgs)"
  23. DependsOnTargets="$(CoreCompileDependsOn)"
  24. >
  25. <PropertyGroup>
  26. <_NoWarnings Condition=" '$(WarningLevel)' == '0' ">true</_NoWarnings>
  27. <_NoWarnings Condition=" '$(WarningLevel)' == '1' ">false</_NoWarnings>
  28. </PropertyGroup>
  29. <PropertyGroup>
  30. <!-- 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-->
  31. <PdbFile Condition="'$(PdbFile)' == '' and '$(OutputType)' == 'winmdobj' and '$(DebugSymbols)' == 'true'">$(IntermediateOutputPath)$(TargetName).compile.pdb</PdbFile>
  32. </PropertyGroup>
  33. <ItemGroup Condition="'$(TargetingClr2Framework)'=='true'">
  34. <ReferencePath>
  35. <EmbedInteropTypes/>
  36. </ReferencePath>
  37. </ItemGroup>
  38. <!-- Prefer32Bit was introduced in .NET 4.5. Set it to false if we are targeting 4.0 -->
  39. <PropertyGroup Condition="('$(TargetFrameworkVersion)' == 'v4.0')">
  40. <Prefer32Bit>false</Prefer32Bit>
  41. </PropertyGroup>
  42. <ItemGroup Condition="('$(AdditionalFileItemNames)' != '')">
  43. <AdditionalFileItems Include="$(AdditionalFileItemNames)" />
  44. <AdditionalFiles Include="@(%(AdditionalFileItems.Identity))" />
  45. </ItemGroup>
  46. <PropertyGroup Condition="'$(UseSharedCompilation)' == ''">
  47. <UseSharedCompilation>true</UseSharedCompilation>
  48. </PropertyGroup>
  49. <!-- Condition is to filter out the _CoreCompileResourceInputs so that it doesn't pass in culture resources to the compiler -->
  50. <Vbc Condition=" '%(_CoreCompileResourceInputs.WithCulture)' != 'true' "
  51. AdditionalLibPaths="$(AdditionalLibPaths)"
  52. AddModules="@(AddModules)"
  53. AdditionalFiles="@(AdditionalFiles)"
  54. Analyzers="@(Analyzer)"
  55. BaseAddress="$(BaseAddress)"
  56. ChecksumAlgorithm="$(ChecksumAlgorithm)"
  57. CodeAnalysisRuleSet="$(ResolvedCodeAnalysisRuleSet)"
  58. CodePage="$(CodePage)"
  59. DebugType="$(DebugType)"
  60. DefineConstants="$(FinalDefineConstants)"
  61. DelaySign="$(DelaySign)"
  62. DisabledWarnings="$(NoWarn)"
  63. DocumentationFile="@(DocFileItem)"
  64. EmitDebugInformation="$(DebugSymbols)"
  65. EnvironmentVariables="$(VbcEnvironment)"
  66. ErrorLog="$(ErrorLog)"
  67. ErrorReport="$(ErrorReport)"
  68. Features="$(Features)"
  69. FileAlignment="$(FileAlignment)"
  70. GenerateDocumentation="$(GenerateDocumentation)"
  71. HighEntropyVA="$(HighEntropyVA)"
  72. Imports="@(Import)"
  73. KeyContainer="$(KeyContainerName)"
  74. KeyFile="$(KeyOriginatorFile)"
  75. LangVersion="$(LangVersion)"
  76. LinkResources="@(LinkResource)"
  77. MainEntryPoint="$(StartupObject)"
  78. ModuleAssemblyName="$(ModuleAssemblyName)"
  79. NoConfig="true"
  80. NoStandardLib="$(NoCompilerStandardLib)"
  81. NoVBRuntimeReference="$(NoVBRuntimeReference)"
  82. NoWarnings="$(_NoWarnings)"
  83. NoWin32Manifest="$(NoWin32Manifest)"
  84. Optimize="$(Optimize)"
  85. Deterministic="$(Deterministic)"
  86. PublicSign="$(PublicSign)"
  87. OptionCompare="$(OptionCompare)"
  88. OptionExplicit="$(OptionExplicit)"
  89. OptionInfer="$(OptionInfer)"
  90. OptionStrict="$(OptionStrict)"
  91. OptionStrictType="$(OptionStrictType)"
  92. OutputAssembly="@(IntermediateAssembly)"
  93. PdbFile="$(PdbFile)"
  94. Platform="$(PlatformTarget)"
  95. Prefer32Bit="$(Prefer32Bit)"
  96. PreferredUILang="$(PreferredUILang)"
  97. ProvideCommandLineArgs="$(ProvideCommandLineArgs)"
  98. References="@(ReferencePath)"
  99. RemoveIntegerChecks="$(RemoveIntegerChecks)"
  100. ReportAnalyzer="$(ReportAnalyzer)"
  101. Resources="@(_CoreCompileResourceInputs);@(CompiledLicenseFile)"
  102. ResponseFiles="$(CompilerResponseFile)"
  103. RootNamespace="$(RootNamespace)"
  104. RuntimeMetadataVersion="$(RuntimeMetadataVersion)"
  105. SdkPath="$(FrameworkPathOverride)"
  106. SkipCompilerExecution="$(SkipCompilerExecution)"
  107. Sources="@(Compile)"
  108. SubsystemVersion="$(SubsystemVersion)"
  109. TargetCompactFramework="$(TargetCompactFramework)"
  110. TargetType="$(OutputType)"
  111. ToolExe="$(VbcToolExe)"
  112. ToolPath="$(VbcToolPath)"
  113. TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
  114. UseHostCompilerIfAvailable="$(UseHostCompilerIfAvailable)"
  115. UseSharedCompilation="$(UseSharedCompilation)"
  116. Utf8Output="$(Utf8Output)"
  117. VBRuntimePath="$(VBRuntimePath)"
  118. Verbosity="$(VbcVerbosity)"
  119. VsSessionGuid="$(VsSessionGuid)"
  120. WarningsAsErrors="$(WarningsAsErrors)"
  121. WarningsNotAsErrors="$(WarningsNotAsErrors)"
  122. Win32Icon="$(ApplicationIcon)"
  123. Win32Manifest="$(Win32Manifest)"
  124. Win32Resource="$(Win32Resource)"
  125. VBRuntime="$(VBRuntime)"
  126. PathMap="$(PathMap)"
  127. >
  128. <Output TaskParameter="CommandLineArgs" ItemName="VbcCommandLineArgs" />
  129. </Vbc>
  130. <ItemGroup>
  131. <_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" />
  132. </ItemGroup>
  133. <CallTarget Targets="$(TargetsTriggeredByCompilation)" Condition="'$(TargetsTriggeredByCompilation)' != ''"/>
  134. </Target>
  135. </Project>