anchor.diff:  [[sec:select_cpp_target_machines]]
   === Selecting target machines
   
  -By default, Gradle will attempt to create a C++ binary variant for the host operating system and architecture.
  +By default, Gradle will attempt to create a {cpp} binary variant for the host operating system and architecture.
   It is possible to override this by specifying the set of `TargetMachine` on the `application` or `library` script block:
   
   .Setting target machines
  
positive.code: 
  It’s also possible to find the instance for a specific variant through the `BinaryCollection` on the `application` or `library` script block:
  
  .Setting C++ compiler options per variant
  ====
  include::sample[dir="userguide/cpp/basic/groovy",files="build.gradle[tags=cpp-compiler-options-per-variants]"]
  include::sample[dir="userguide/cpp/basic/kotlin",files="build.gradle.kts[tags=cpp-compiler-options-per-variants]"]
  
negative.code: Gradle select the first tool chain that can build for the target operating system and architecture.
  In the future, Gradle will consider source and ABI compatibility when selecting a tool chain.
  
  Gradle has general support for the three major tool chains on major operating system: Clang footnote:[Installed with Xcode on macOS], GCC footnote:[Installed through Cygwin and MinGW for 32- and 64-bits architecture on Windows] and Visual {cpp} footnote:[Installed with Visual Studio 2010 to 2017] (Windows-only).
  GCC and Clang installed using Macports and Homebrew have been reported to work fine, but this isn’t tested continuously.
  
  ==== Windows
  
  To build on Windows, install a compatible version of Visual Studio[4].
  The {cpp} plugins will discover the Visual Studio installations and select the latest version.
  There is no need to mess around with environment variables or batch scripts.
  This works fine from a Cygwin shell or the Windows command-line.
  
  