common-build-settings.props 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  3. <PropertyGroup Label="UserMacros">
  4. <!-- Target minimum OS version: WinXP = 0; Vista = 1; Win7 = 2; Win8 = 3...
  5. Only 0, 1 and 3 are used currently -->
  6. <TargetOSLevel Condition="$(Platform.ToLowerInvariant().StartsWith('arm'))">3</TargetOSLevel>
  7. <TargetOSLevel Condition="! $(Platform.ToLowerInvariant().StartsWith('arm')) And $(PlatformToolset.EndsWith('_xp'))">0</TargetOSLevel>
  8. <TargetOSLevel Condition="! $(Platform.ToLowerInvariant().StartsWith('arm')) And ! $(PlatformToolset.EndsWith('_xp'))">1</TargetOSLevel>
  9. <MhdNumBits Condition="$(Platform.EndsWith('64'))">64</MhdNumBits>
  10. <MhdNumBits Condition="! $(Platform.EndsWith('64'))">32</MhdNumBits>
  11. </PropertyGroup>
  12. <PropertyGroup>
  13. <IncludePath>$(SolutionDir);$(MhdW32Common);$(MhdSrc)include;$(IncludePath)</IncludePath>
  14. </PropertyGroup>
  15. <PropertyGroup>
  16. <IntDir>$(SolutionDir)$(ProjectName)\$(Configuration)\$(Platform)\</IntDir>
  17. <OutDir>$(SolutionDir)Output\$(Platform)\</OutDir>
  18. </PropertyGroup>
  19. <PropertyGroup Condition="'$(UseDebugLibraries)'=='true'">
  20. <LinkIncremental>true</LinkIncremental>
  21. </PropertyGroup>
  22. <PropertyGroup Condition="'$(UseDebugLibraries)'!='true'">
  23. <LinkIncremental>false</LinkIncremental>
  24. </PropertyGroup>
  25. <ItemDefinitionGroup>
  26. <ClCompile>
  27. <PrecompiledHeader>NotUsing</PrecompiledHeader>
  28. <WarningLevel Condition="'%(ClCompile.ExternalWarningLevel)' != ''">EnableAllWarnings</WarningLevel>
  29. <WarningLevel Condition="'%(ClCompile.ExternalWarningLevel)' == ''">Level4</WarningLevel>
  30. <ExternalWarningLevel>Level3</ExternalWarningLevel>
  31. <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  32. <DisableSpecificWarnings>4996;4820;4127;5045;4711;4710</DisableSpecificWarnings>
  33. <TreatSpecificWarningsAsErrors>4013</TreatSpecificWarningsAsErrors>
  34. <SmallerTypeCheck>false</SmallerTypeCheck>
  35. <ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
  36. <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
  37. <LanguageStandard_C Condition="'%(ClCompile.LanguageStandard_C)' != ''">stdc17</LanguageStandard_C>
  38. </ClCompile>
  39. <Link>
  40. <GenerateDebugInformation>true</GenerateDebugInformation>
  41. </Link>
  42. </ItemDefinitionGroup>
  43. <ItemDefinitionGroup Condition="'$(MhdNumBits)' == '32'">
  44. <ClCompile>
  45. <PreprocessorDefinitions>WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  46. </ClCompile>
  47. </ItemDefinitionGroup>
  48. <ItemDefinitionGroup Condition="'$(TargetOSLevel)'&gt;='3'">
  49. <ClCompile>
  50. <PreprocessorDefinitions>_WIN32_WINNT=0x0602;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  51. </ClCompile>
  52. <Link>
  53. <MinimumRequiredVersion>6.02</MinimumRequiredVersion>
  54. </Link>
  55. <Lib>
  56. <MinimumRequiredVersion>6.02</MinimumRequiredVersion>
  57. </Lib>
  58. </ItemDefinitionGroup>
  59. <ItemDefinitionGroup Condition="'$(TargetOSLevel)'&gt;'0' And '$(TargetOSLevel)'&lt;'3'">
  60. <ClCompile>
  61. <PreprocessorDefinitions>_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  62. </ClCompile>
  63. <Link>
  64. <MinimumRequiredVersion>6.00</MinimumRequiredVersion>
  65. </Link>
  66. <Lib>
  67. <MinimumRequiredVersion>6.00</MinimumRequiredVersion>
  68. </Lib>
  69. </ItemDefinitionGroup>
  70. <ItemDefinitionGroup Condition="'$(TargetOSLevel)'=='0' And '$(Platform)'=='Win32'">
  71. <ClCompile>
  72. <PreprocessorDefinitions>_WIN32_WINNT=0x0501;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  73. </ClCompile>
  74. <Link>
  75. <MinimumRequiredVersion>5.01</MinimumRequiredVersion>
  76. </Link>
  77. <Lib>
  78. <MinimumRequiredVersion>5.01</MinimumRequiredVersion>
  79. </Lib>
  80. </ItemDefinitionGroup>
  81. <ItemDefinitionGroup Condition="'$(TargetOSLevel)'=='0' And '$(Platform)'=='x64'">
  82. <ClCompile>
  83. <PreprocessorDefinitions>_WIN32_WINNT=0x0502;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  84. </ClCompile>
  85. <Link>
  86. <MinimumRequiredVersion>5.02</MinimumRequiredVersion>
  87. </Link>
  88. <Lib>
  89. <MinimumRequiredVersion>5.02</MinimumRequiredVersion>
  90. </Lib>
  91. </ItemDefinitionGroup>
  92. <ItemDefinitionGroup Condition="'$(UseDebugLibraries)'=='true'">
  93. <ClCompile>
  94. <Optimization>Disabled</Optimization>
  95. <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  96. </ClCompile>
  97. <ResourceCompile>
  98. <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  99. </ResourceCompile>
  100. </ItemDefinitionGroup>
  101. <ItemDefinitionGroup Condition="'$(UseDebugLibraries)'!='true'">
  102. <ClCompile>
  103. <Optimization>MaxSpeed</Optimization>
  104. <FunctionLevelLinking>true</FunctionLevelLinking>
  105. <IntrinsicFunctions>true</IntrinsicFunctions>
  106. <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
  107. <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
  108. <OmitFramePointers>true</OmitFramePointers>
  109. <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  110. </ClCompile>
  111. <Link>
  112. <EnableCOMDATFolding>true</EnableCOMDATFolding>
  113. <OptimizeReferences>true</OptimizeReferences>
  114. <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
  115. </Link>
  116. <ResourceCompile>
  117. <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  118. </ResourceCompile>
  119. </ItemDefinitionGroup>
  120. <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
  121. <Link>
  122. <TargetMachine>MachineX86</TargetMachine>
  123. </Link>
  124. <Lib>
  125. <TargetMachine>MachineX86</TargetMachine>
  126. </Lib>
  127. </ItemDefinitionGroup>
  128. <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
  129. <Link>
  130. <TargetMachine>MachineX64</TargetMachine>
  131. </Link>
  132. <Lib>
  133. <TargetMachine>MachineX64</TargetMachine>
  134. </Lib>
  135. </ItemDefinitionGroup>
  136. </Project>