VS: Improve error messages when compiler is not detected (#15228)

CMake requires both the Desktop SDK and the correct platform SDK
(Windows Phone or Windows Store) to be installed when targeting the
Windows mobile platforms.  Verify that the right platform components are
installed and give a more detailed error message when something is
wrong.
VS: Do not produce WinMD file for OBJECT libraries (#15228)

They are implemented as static libraries for the IDE so treat them the
same.
Help: target_include_directories does not allow target names

Since commit v2.8.11~227^2~1 (Don't allow targets args in the new target
commands, 2013-01-29) the target_include_directories command does not
support target names on the right hand side, but that commit forgot to
remove it from the docs.  It was never released with such support.
Update the command documentation now.
Merge branch 'doc-target_include_directories-fixup' into release
Utilities/Sphinx: Add missing call to note_explicit_target

Sphinx calls document.note_explicit_target with any nodes.target() it
creates.  Add such a call when we create a document target in
CMakeTransform.
Merge branch 'doc-sphinx-cmake-fixup' into release
Merge branch 'vs-check-phone-store-tools' into release
Features: Test the CXX compiler only if it has features.

If using different C and CXX compilers, we might not have a
feature-full CXX compiler at this point.
Features: Fix references to CXX compiler version in Clang-C.cmake.
Features: Record C++11 dialect switch only for GNU 4.7 and later.

Previous versions of GNU are not currently supported by this
CMake feature.
FindJava: Do not accept OS X stub 'java' as Java

OS X provides a stub 'java' to inform callers that Java is not present.
When checking the 'java -version' output, look for such a message and if
found pretend 'java' was not found.

Suggested-by: Sean McBride <sean@rogue-research.com>
Merge branch 'FindJava-no-osx-stub' into release
Avoid if() quoted auto-dereference when checking for "MSVC"

When testing CMAKE_<LANG>_COMPILER_ID values against "MSVC", do not
allow the definition of the "MSVC" variable to be expanded.
Merge branch 'backport-fix-CMP0054-MSVC' into release
FindOpenMP: Use fixed form Fortran test program

This prevents the test program from failing when build as Fortran 77.

Suggested-by: Alin Marin Elena <alinm.elena@gmail.com>
Merge branch 'fix-openmp-fortran' into release
Features: Fix the default C dialect for Clang and GNU.

Clang 3.4 uses C99 by default, and Clang 3.6 uses C11 by default:

 http://thread.gmane.org/gmane.comp.compilers.clang.devel/39379

GNU 4.9 uses C90 by default, and GNU 5.0 uses C11 by default:

 https://gcc.gnu.org/gcc-5/changes.html

Test that the default compiler settings result in the expected dialect
macros being defined for both C and CXX.  Remove the unused main.c
file from the CompileFeatures unit test.
Fix the test for running the CxxDialog unit test.

The existing versions have been used since commit
v3.1.0-rc1~635^2~8 (cmTarget: Add CXX_STANDARD and CXX_EXTENSION
target properties., 2013-10-13), but further discussions since then
increased the initial minimum compiler versions this feature is
available for.
WCDH: Don't imply that MSVC is supported by the module.

Remove the mention of it from the docs.
Merge branch 'default-lang-dialect' into release