blob: 815121e3ab9525781c8b5a3269eaa96b032fc584 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Constants -->
<PropertyGroup>
<NtTargetVersion_Win7 >0x601</NtTargetVersion_Win7>
<NtTargetVersion_Win8 >0x602</NtTargetVersion_Win8>
<NtTargetVersion_WinBlue>0x603</NtTargetVersion_WinBlue>
<NtTargetVersion_Win10>0xA00</NtTargetVersion_Win10>
<NtTargetVersion_Latest>$(NtTargetVersion_Win10)</NtTargetVersion_Latest>
</PropertyGroup>
<!-- Auto tool set selection -->
<PropertyGroup>
<BuildToolVersion>$(VisualStudioVersion)</BuildToolVersion>
<BuildToolVersion Condition="'$(BuildToolVersion)'==''">$(MSBuildToolsVersion)</BuildToolVersion>
<PlatformToolset Condition="'$(BuildToolVersion)'=='11.0'">v110</PlatformToolset>
<PlatformToolset Condition="'$(BuildToolVersion)'=='12.0'">v120</PlatformToolset>
<PlatformToolset Condition="'$(BuildToolVersion)'=='14.0'">v140</PlatformToolset>
<PlatformToolset Condition="'$(BuildToolVersion)'=='15.0'">v141</PlatformToolset>
</PropertyGroup>
<!-- Default ChakraDevConfigDir -->
<PropertyGroup>
<ChakraDevConfigDir Condition="'$(ChakraDevConfigDir)'==''">$(USERPROFILE)\ChakraDevConfig</ChakraDevConfigDir>
</PropertyGroup>
<!-- Import user settings, can be used to override OutBaseDir/IntBaseDir-->
<ImportGroup>
<Import Project="$(ChakraDevConfigDir)\Chakra.Build.user.props" Condition="exists('$(ChakraDevConfigDir)\Chakra.Build.user.props')"/>
</ImportGroup>
<!-- Configurations -->
<PropertyGroup Condition="'$(BuildLite)'=='true'">
<BuildJIT>false</BuildJIT>
<BuildScriptDebug>false</BuildScriptDebug>
</PropertyGroup>
<!-- Common build settings -->
<PropertyGroup>
<DebugBuild />
<DebugBuild Condition="'$(Configuration)'!='Release' and '$(Configuration)'!='Test'">true</DebugBuild>
<OptimizedBuild Condition="'$(OptimizedBuild)'=='' and '$(DebugBuild)'!='true'">true</OptimizedBuild>
<WindowsSDKDesktopARMSupport Condition="'$(Platform)'=='ARM'">true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<!-- Change configuration name to output to a different folder -->
<!-- POGO instrumentation -->
<PropertyGroup>
<IsPogoBuild Condition="('$(POGO_TYPE)'=='PGO' OR '$(POGO_TYPE)'=='PGI')">true</IsPogoBuild>
<OutDirName Condition="'$(IsPogoBuild)'=='true'">$(Configuration.ToLower())_pogo</OutDirName>
</PropertyGroup>
<!-- Alternate platform names -->
<PropertyGroup>
<!-- PlatformPathName is used in OutDir/IntDir name-->
<PlatformPathName>$(Platform)</PlatformPathName>
<PlatformPathName Condition="'$(Platform)'=='Win32'">x86</PlatformPathName>
<!-- PlatformPathNameAlt is used by Backend for architecture directory -->
<PlatformPathNameAlt>$(Platform)</PlatformPathNameAlt>
<PlatformPathNameAlt Condition="'$(Platform)'=='Win32'">i386</PlatformPathNameAlt>
<PlatformPathNameAlt Condition="'$(Platform)'=='x64'">amd64</PlatformPathNameAlt>
</PropertyGroup>
<!-- Default output directories -->
<PropertyGroup>
<OutBaseDir Condition="'$(OutBaseDir)'!=''">$(OutBaseDir)\$(SolutionName)</OutBaseDir>
<OutBaseDir Condition="'$(OutBaseDir)'==''">$(SolutionDir)VcBuild</OutBaseDir>
<OutBaseDir Condition="'$(Clang)'!=''">$(OutBaseDir).$(Clang)</OutBaseDir>
<OutBaseDir Condition="'$(BuildLite)'=='true'">$(OutBaseDir).Lite</OutBaseDir>
<OutBaseDir Condition="'$(BuildLite)'!='true' and '$(BuildJIT)'=='false'">$(OutBaseDir).NoJIT</OutBaseDir>
<OutBaseDir Condition="'$(BuildLite)'!='true' and '$(BuildScriptDebug)'=='false'">$(OutBaseDir).NoScriptDebug</OutBaseDir>
<OutBaseDir Condition="'$(ForceSWB)'=='true'">$(OutBaseDir).SWB</OutBaseDir>
<IntBaseDir Condition="'$(IntBaseDir)'==''">$(OutBaseDir)</IntBaseDir>
</PropertyGroup>
<!-- Import generated build info -->
<PropertyGroup>
<ObjectDirectory Condition="'$(TF_BUILD_BUILDDIRECTORY)'!=''">$(TF_BUILD_BUILDDIRECTORY)</ObjectDirectory>
<ObjectDirectory Condition="'$(TF_BUILD_BUILDDIRECTORY)'==''">$(IntBaseDir)\obj\$(PlatformPathName.ToLower())_$(Configuration.ToLower())</ObjectDirectory>
</PropertyGroup>
<Import Project="$(ObjectDirectory)\Chakra.Generated.BuildInfo.props" Condition="'$(ObjectDirectory)'!='' AND exists('$(ObjectDirectory)\Chakra.Generated.BuildInfo.props')" />
<!-- Output directories -->
<PropertyGroup>
<OutDirName Condition="'$(ENABLE_CODECOVERAGE)'=='true'">codecoverage</OutDirName>
<OutDirName Condition="'$(OutDirName)'==''">$(Configuration.ToLower())</OutDirName>
<OutDir>$(OutBaseDir)\bin\$(PlatformPathName.ToLower())_$(OutDirName)\</OutDir>
<IntDir>$(IntBaseDir)\obj\$(PlatformPathName.ToLower())_$(Configuration.ToLower())\$(MSBuildProjectName)\</IntDir>
<OutDir Condition="'$(ConfigurationType)'=='StaticLibrary'">$(IntDir)</OutDir>
<OutputPath>$(OutDir)</OutputPath>
<ChakraParserIntDir>$(IntDir)..\Chakra.Parser</ChakraParserIntDir>
<ChakraJITIDLIntDir>$(IntDir)..\Chakra.JITIDL</ChakraJITIDLIntDir>
</PropertyGroup>
<!-- Determine if the build should include wabt -->
<PropertyGroup>
<BuildWabt>true</BuildWabt>
<!-- Only build wabt on x64/x86, the only platform supporting WebAssembly at this time -->
<BuildWabt Condition="'$(Platform)'!='x64' and '$(Platform)'!='win32'">false</BuildWabt>
<!-- Wabt is a test tool, do not include it in the Release build -->
<BuildWabt Condition="'$(Configuration)'!='Debug' and '$(Configuration)'!='Test'">false</BuildWabt>
<!-- Wabt uses c++11 features only available in recent toolset (v140 and above) -->
<BuildWabt Condition="'$(BuildToolVersion)'&lt;'14.0'">false</BuildWabt>
</PropertyGroup>
</Project>