Build.Windows.ProjectConfiguration.props   [plain text]


<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html -->
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!-- This file is used to set default configuration options for all non-UWP Visual Studio projects. -->
  <!-- These are the default project configurations for building. -->
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Debug|x64">
      <Configuration>Debug</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|x64">
      <Configuration>Release</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup>
    <!-- This is the version of the MSVC tool-set to use. -->
    <!-- v140 is the Visual Studio 2015 toolset. -->
    <!-- v141 is the Visual Studio 2017 toolset. -->
    <PlatformToolset>v141</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup>
    <!-- This is the default SDK target. -->
    <!-- Note that the Windows 8.1 SDK is backwards compatible down-level to Windows 7, so
         setting this to 8.1 does not actually imply targeting Windows 8.1. -->
    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
  </PropertyGroup>
  <PropertyGroup>
    <!-- We need to explicitly set the target version to Windows 7. -->
    <Win32_WinNTVersion>0x0601</Win32_WinNTVersion>
  </PropertyGroup>
  <!-- Options that are common to *all* configurations for *all* projects. -->
  <ItemDefinitionGroup>
    <Midl>
      <MkTypLibCompatible>true</MkTypLibCompatible>
      <SuppressStartupBanner>true</SuppressStartupBanner>
    </Midl>
    <ClCompile>
      <!-- Note: These preprocessor defines are for *all* configurations for *all* projects.  -->
      <!-- Note: See ticket #5750 for the macro '_CRT_SECURE_NO_DEPRECATE'. -->
      <PreprocessorDefinitions>
        WINVER=$(Win32_WinNTVersion);
        _WIN32_WINNT=$(Win32_WinNTVersion);
        _CRT_SECURE_NO_DEPRECATE;
        %(PreprocessorDefinitions)
      </PreprocessorDefinitions>
      <!-- We always want to treat wchar_t as a "real" C++ type, instead of a typedef. -->
      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <!-- Set the source encoding and runtime encoding to UTF-8 by default. -->
      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
      <!-- Enable parallel compilation for faster builds. -->
      <MultiProcessorCompilation>true</MultiProcessorCompilation>
    </ClCompile>
    <ResourceCompile>
      <Culture>0x0409</Culture>
    </ResourceCompile>
    <Link>
      <SuppressStartupBanner>true</SuppressStartupBanner>
    </Link>
  </ItemDefinitionGroup>
  <!-- Options that are common to all 'Release' configurations for *all* projects. -->
  <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
    <Midl>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </Midl>
    <ClCompile>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <StringPooling>true</StringPooling>
    </ClCompile>
    <ResourceCompile>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </ResourceCompile>
    <Link>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
    </Link>
  </ItemDefinitionGroup>
  <!-- Options that are common to all 'Debug' configurations for *all* projects. -->
  <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
    <Midl>
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </Midl>
    <ClCompile>
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Optimization>Disabled</Optimization>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <BufferSecurityCheck>true</BufferSecurityCheck>
    </ClCompile>
    <ResourceCompile>
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </ResourceCompile>
    <Link>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
    </Link>
  </ItemDefinitionGroup>
  <!-- Options that are common to all 32-bit configurations for *all* projects. -->
  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
    <Midl>
      <TargetEnvironment>Win32</TargetEnvironment>
    </Midl>
    <ClCompile>
      <PreprocessorDefinitions>WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </ClCompile>
    <Link>
      <TargetMachine>MachineX86</TargetMachine>
    </Link>
  </ItemDefinitionGroup>
  <!-- Options that are common to all 64-bit configurations for *all* projects. -->
  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
    <Midl>
      <TargetEnvironment>X64</TargetEnvironment>
    </Midl>
    <ClCompile>
      <PreprocessorDefinitions>WIN64;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </ClCompile>
    <Link>
      <TargetMachine>MachineX64</TargetMachine>
    </Link>
  </ItemDefinitionGroup>
</Project>