| <?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)'<'14.0'">false</BuildWabt> |
| </PropertyGroup> |
| </Project> |