Tests: Always detect VS and SDK availability on Windows

Move the detection block out of the Windows >= 8 conditional so it
can be used on other versions.
VS: Use case-insensitive check for hlsl,jpg,png,xml file extensions

These "extra" sources should map to the proper tool even when they
are not in lower case.
VS: Drop GenerateManifest from .vcxproj files for non-MS tools

The .vcxproj file content generated by OutputLinkIncremental is
specific to MS tools, so drop it when using other tools.
VS: Teach VS >= 10 to recognize CMAKE_SYSTEM_NAME 'Android'

When CMAKE_SYSTEM_NAME is 'Android', check for an installation of
'NVIDIA Nsight Tegra Visual Studio Edition' and generate .vcxproj
files for the "Tegra-Android" platform.  Also make the installed
version available in a CMAKE_VS_NsightTegra_VERSION variable.
VS: Detect compiler id of Nsight Tegra-Android toolchains

Teach CMakeDetermineCompilerId to recognize the Tegra-Android platform
and generate a test project for Nsight Tegra tools.  Locate the full
path to CMAKE_<LANG>_COMPILER by computing it within the test project
build environment.

Also teach CMakeFindBinUtils that this variant of the Visual Studio
generator uses UNIX-like instead of MS-like archiving and linking tools.
VS: Teach vcxproj generation about the Tegra-Android platform

Complete the basic implementation of the VS Tegra-Android generators
by replacing parts of vcxproj files that are specific to MS tools
with settings defined for the NVIDIA Nsight Tegra tools.

Current limitations include:

* We have no "flag table" so flags will be passed in the additional
  options fields instead of mapped to the vcxproj elements defined
  by Nsight Tegra msbuild platform definition files.

* We have no interface to set the AndroidArch, AndroidStlType, or
  AndroidTargetAPI fields so defaults will be used.

* The Nsight Tegra msbuild platform definition files do not provide
  a working "Utility" target type so for add_custom_target we need
  to use a "StaticLibrary" target type and leave out ClCompile rules.

* There is also no target type for plain command-line executables
  so for add_executable we need to use a "DynamicLibrary" target.
  Full application bundles will likely require new CMake target
  properties (like WIN32_EXECUTABLE for Windows GUI executables).
cmTarget: Track internally whether platform is Android

Add an IsAndroid member to save whether CMAKE_SYSTEM_NAME is "Android".
Add 'ANDROID_GUI' target property to mark Android applications

Also add a 'CMAKE_ANDROID_GUI' variable to set the property default
so a project can easily make all executables Android applications.
An Android application executable file has the same extension as a
shared library (.so).
Add 'ANDROID_API' target property to set Android Target API

Also add a 'CMAKE_ANDROID_API' variable to set the property default.
VS: Generate ANDROID_GUI executables as app packages

When an executable is marked with ANDROID_GUI, generate an AntBuild
step in the .vcxproj file and point it at the directory found to
contain AndroidManifest.xml.  Assume it also contains build.xml.
Tests: Add test for VS Nsight Tegra generator support

Create a VSNsightTegra test based on the "two-libs" example from the
Android NDK.  Add it whenever testing on a machine with VS 11 or 12
and the NVIDIA Nsight Tegra Visual Studio Edition installed.  Exclude
it when there is a space in the path to the source or build tree because
the tools do not seem to support it.
VS: Fix Tegra-Android platform linking of libraries by name

Nsight Tegra Visual Studio Edition handles prefixing of library names
with '-l' automatically, so teach the generator not to do so.

Reported-by: Mourad Boufarguine <mourad@boufarguine.name>
VS: Map Nsight Tegra file types in .vcxproj files

Map ".java" to JCompile, ".asm" and ".s" to ClCompile, and a few
Android-specific source file names to AndroidBuild.  This allows
Nsight Tegra 1.6 and above to check up-to-dateness of such sources.
Bump NsightTegraProjectRevisionNumber to 7 to allow these fields.
VS: Generate Nsight Tegra project revision number

Nsight Tegra 2.0 will be revision '8'.  Generate this revision number
and add a NsightTegraUpgradeOnceWithoutPrompt element to tell newer
versions not to prompt when upgrading the generated project file.
Help: Add notes for topic 'vs-nsight-tegra-generator'
Merge topic 'vs-nsight-tegra-generator' into next

89d6d2ee Help: Add notes for topic 'vs-nsight-tegra-generator'
98e2762b VS: Generate Nsight Tegra project revision number
2920bda9 VS: Map Nsight Tegra file types in .vcxproj files
aa456d0d VS: Fix Tegra-Android platform linking of libraries by name
2a33785e Tests: Add test for VS Nsight Tegra generator support
b26e2c2f VS: Generate ANDROID_GUI executables as app packages
cc47d2a3 Add 'ANDROID_API' target property to set Android Target API
9a4df52a Add 'ANDROID_GUI' target property to mark Android applications
16569abf cmTarget: Track internally whether platform is Android
ef0fd4f0 VS: Teach vcxproj generation about the Tegra-Android platform
d09b60f5 VS: Detect compiler id of Nsight Tegra-Android toolchains
2f071466 VS: Teach VS >= 10 to recognize CMAKE_SYSTEM_NAME 'Android'
c655f0c4 VS: Drop GenerateManifest from .vcxproj files for non-MS tools
227a3367 VS: Use case-insensitive check for hlsl,jpg,png,xml file extensions
4a24015a Tests: Always detect VS and SDK availability on Windows