Chakra.Build.props 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  3. <Import Project="Common.Build.props"/>
  4. <PropertyGroup>
  5. <Win32_WinNTVersion Condition="'$(NtTargetVersion)'=='$(NtTargetVersion_Win7)'">0x0601</Win32_WinNTVersion>
  6. <Win32_WinNTVersion Condition="'$(NtTargetVersion)'=='$(NtTargetVersion_Win8)'">0x0602</Win32_WinNTVersion>
  7. <Win32_WinNTVersion Condition="'$(NtTargetVersion)'=='$(NtTargetVersion_WinBlue)'">0x0603</Win32_WinNTVersion>
  8. <Win32_WinNTVersion Condition="'$(NtTargetVersion)'=='$(NtTargetVersion_Win10)'">0x0A00</Win32_WinNTVersion>
  9. <!-- Always use Platform SDK for core builds -->
  10. <EventManifestXmlPath Condition="'$(TargetPlatformVersion)'=='8.1'">$(WindowsSdkDir)Include\um</EventManifestXmlPath>
  11. <EventManifestXmlPath Condition="'$(TargetPlatformVersion)'!='8.1'">$(WindowsSdkDir)Include\$(TargetPlatformVersion)\um</EventManifestXmlPath>
  12. </PropertyGroup>
  13. <PropertyGroup>
  14. <NoThrowNewLib>nothrownew.obj</NoThrowNewLib>
  15. </PropertyGroup>
  16. <PropertyGroup Condition="'$(RunCodeAnalysis)'=='' AND '$(Configuration)'=='Release'">
  17. <RunCodeAnalysis>$(BuildWithCodeAnalysis)</RunCodeAnalysis>
  18. </PropertyGroup>
  19. <Import Condition="'$(ChakraICU)'!='false' AND exists('$(ChakraCoreRootDirectory)deps\Chakra.ICU\Chakra.ICU.props')" Project="$(ChakraCoreRootDirectory)deps\Chakra.ICU\Chakra.ICU.props" />
  20. <ItemDefinitionGroup>
  21. <ClCompile>
  22. <PreprocessorDefinitions>
  23. %(PreprocessorDefinitions);
  24. _CHAKRACOREBUILD;
  25. _WIN32_WINNT=$(Win32_WinNTVersion);
  26. WINVER=$(Win32_WinNTVersion);
  27. WIN32_LEAN_AND_MEAN=1
  28. </PreprocessorDefinitions>
  29. <PreprocessorDefinitions Condition="'$(BuildJIT)'=='false'">
  30. %(PreprocessorDefinitions);
  31. DISABLE_JIT=1
  32. </PreprocessorDefinitions>
  33. <PreprocessorDefinitions Condition="'$(BuildScriptDebug)'=='false'">
  34. %(PreprocessorDefinitions);
  35. BUILD_WITHOUT_SCRIPT_DEBUG=1
  36. </PreprocessorDefinitions>
  37. <PreprocessorDefinitions Condition="'$(BuildLite)'=='true'">
  38. %(PreprocessorDefinitions);
  39. CHAKRACORE_LITE
  40. </PreprocessorDefinitions>
  41. <PreprocessorDefinitions Condition="'$(ChakraICU)'!='false'">
  42. %(PreprocessorDefinitions);
  43. HAS_ICU;
  44. U_DISABLE_RENAMING=1; <!-- Disable renaming to maintain compatibility with Windows Kit ICU's icuuc/icuin.lib -->
  45. </PreprocessorDefinitions>
  46. <PreprocessorDefinitions Condition="'$(EnableIntl)'=='true' AND '$(ChakraICU)'!='false'">
  47. %(PreprocessorDefinitions);
  48. INTL_ICU=1
  49. </PreprocessorDefinitions>
  50. <PreprocessorDefinitions Condition="'$(ChakraICU)'=='static'">
  51. %(PreprocessorDefinitions);
  52. U_STATIC_IMPLEMENTATION=1
  53. </PreprocessorDefinitions>
  54. <PreprocessorDefinitions Condition="'$(ChakraICU)'=='windows'">
  55. %(PreprocessorDefinitions);
  56. WINDOWS10_ICU
  57. </PreprocessorDefinitions>
  58. <PreprocessorDefinitions Condition="'$(ChakraICU)'!='windows' AND '$(ChakraICU)'!='false'">
  59. %(PreprocessorDefinitions);
  60. ICU_VERSION=$(IcuVersionMajor)
  61. </PreprocessorDefinitions>
  62. <PreprocessorDefinitions Condition="'$(ForceSWB)'=='true'">
  63. %(PreprocessorDefinitions);
  64. GLOBAL_ENABLE_WRITE_BARRIER=1
  65. </PreprocessorDefinitions>
  66. <PreprocessorDefinitions Condition="'$(NTDDIVersion)'!=''" >%(PreprocessorDefinitions);NTDDI_VERSION=$(NTDDIVersion)</PreprocessorDefinitions>
  67. <!-- REVIEW: These warnings are introduced when moving to VS2015 tools, may want to clean these up -->
  68. <DisableSpecificWarnings>
  69. %(DisableSpecificWarnings);
  70. 4458; <!-- declaration of '' hides class member -->
  71. 4312; <!-- 'type cast': conversion from '' to '' of greater size -->
  72. 4800; <!-- 'type' : forcing value to bool 'true' or 'false' (performance warning) [always off in 2017 by default, but warns in 2015] -->
  73. </DisableSpecificWarnings>
  74. <!-- Use the debug CRT in debug build -->
  75. <RuntimeLibrary Condition="'$(Configuration)'=='Debug' AND '$(RuntimeLib)'!='static_library'">MultiThreadedDebugDLL</RuntimeLibrary>
  76. <RuntimeLibrary Condition="'$(Configuration)'=='Debug' AND '$(RuntimeLib)'=='static_library'">MultiThreadedDebug</RuntimeLibrary>
  77. <AdditionalIncludeDirectories>
  78. $(ChakraCoreRootDirectory)\lib\common\placeholder;
  79. $(IntDir)..\CoreManifests;
  80. %(AdditionalIncludeDirectories)
  81. </AdditionalIncludeDirectories>
  82. <AdditionalIncludeDirectories Condition="'$(IcuIncludeDirectories)'!=''">
  83. $(IcuIncludeDirectories);
  84. %(AdditionalIncludeDirectories)
  85. </AdditionalIncludeDirectories>
  86. </ClCompile>
  87. <ResourceCompile>
  88. <PreprocessorDefinitions>%(PreprocessorDefinitions);_CHAKRACOREBUILD</PreprocessorDefinitions>
  89. </ResourceCompile>
  90. </ItemDefinitionGroup>
  91. <!-- Link dependencies for projects that link with Chakra libraries -->
  92. <PropertyGroup>
  93. <ChakraCommonLinkDependencies>
  94. oleaut32.lib;
  95. version.lib;
  96. bcrypt.lib
  97. </ChakraCommonLinkDependencies>
  98. <RLCommonLinkDependencies>
  99. kernel32.lib;
  100. ole32.lib
  101. </RLCommonLinkDependencies>
  102. </PropertyGroup>
  103. <PropertyGroup Condition="'$(DebugBuild)'=='true'">
  104. <ChakraCommonLinkDependencies>
  105. $(ChakraCommonLinkDependencies);
  106. dbghelp.lib;
  107. user32.lib
  108. </ChakraCommonLinkDependencies>
  109. </PropertyGroup>
  110. <Import Condition="'$(Clang)'!=''" Project="Chakra.Build.Clang.props"/>
  111. </Project>