Merge topic 'vs-internal-system-apis'

0a5fe279 VS: Add internal API to get system name and version
Merge topic 'cmGlobalGenerator-Build-output-ref'

30983ebe cmGlobalGenerator: Take Build output argument by reference
CMakePackageConfigHelpers: Remove unused variable
liblzma: Fix compilation with PGI compiler

- sha265.c is using some C99 specific features, in particular static
array dimensions in a function parameter array (see section 6.7.5-7
of the C99 spec).  A #ifndef check was in place to prevent compilation
under MSVC but it actually needed to check for C99 compliance instead.
Even still, the C99 code fails on a few compilers (PGI being one) so for
compatibility reasons, the C99 version of the function declaration is
removed entirely, leaving only the C89 version.

- CHECK_SYMBOL_EXISTS is used to determine the presense of bswap
functions from byteswap.h.  Most compilers re-dedefine the bswap_N
functions as a __bswap_N function implemented by the compiler.  Since
bswap_N is usually defined as a macro then it's mere presence passes
the check.  Some versions of the PGI compiler though have shipped
broken headers for byteswap.h, in particular 11.3 for x64 linux
provides byteswap.h but is missing an associated bits/byteswap.h which
causes some of the bswap_N macros to be defined but broken and unusable.
The bswap_N checks have been converted to CHECK_SOURCE_COMPILES to
ensure that the bswap_N calls are actually usable and not just merely
defined.
KWSys 2014-08-04 (e787837a)

Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ e787837a | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' 65b36ede..e787837a
Ben Boeckel (4):
      9927862c SystemTools: more string replacements
      b3d598b0 strings: remove unnecessary c_str calls
      ffe94132 SystemTools: use char instead of const char*
      f29fec7c Directory: accept strings in methods

Rashad M (1):
      e787837a SharedForward: Cast away const to call execvp on MinGW 64-bit

Change-Id: I96437b332971670cfcd953717c5563e9ba0f2b99
Merge branch 'upstream-kwsys' into update-kwsys
Change output to be a reference and not a pointer.

This avoids having to check the pointer value at each use which
was not being done.
Fix truncation of valgrind output logic.

This showed up because scan-build noticed outputFull was basically
a constant. Logic should be output all valgrind output.  Then output
regular test output until output limit is reached.
Fix scan-build warning parsed is never read after being set.
CMake Nightly Date Stamp
CheckIncludeFiles: Use modern C declaration for 'main' (#15058)

Otherwise some compilers will incorrectly fail the checks when certain
warning/error flags are enabled.
Merge topic 'readme-link-to-issue-tracker'

d4557188 README: Add a section explaining how to report bugs
Merge topic 'liblzma-pgi-compiler'

2dd17a54 liblzma: Fix compilation with PGI compiler
Merge topic 'update-kwsys'

60c78367 Merge branch 'upstream-kwsys' into update-kwsys
158c6d1c KWSys 2014-08-04 (e787837a)
Merge topic 'pass_output_by_reference'

7762fffa Change output to be a reference and not a pointer.
Merge topic 'fix_value_not_used'

aea40fcb Fix scan-build warning parsed is never read after being set.
Merge topic 'fix_truncation_logic_valgrind_output'

b35a7730 Fix truncation of valgrind output logic.
Help: Remove stray content from 'add_custom_command' docs

Remove leftover generator expression documentation that is now in
the cmake-generator-expressions(7) manual.
Help: Revise and format 'add_custom_command' docs

Format the reStructuredText markup manually.  Organize the command
options into a definition list.  Use inline markup to cross-reference
related documents.
Help: Document add_custom_command PRE_BUILD/PRE_LINK for exe/lib only (#15059)

State explicitly that the PRE_LINK mode is not for targets created by
the add_custom_target command.  The existing wording for PRE_BUILD being
treated as PRE_LINK by non-VS generators will now imply this restriction
for PRE_BUILD too.