OS X: Link with all framework search paths, not just the last

Refactoring in commit 8d674e78 (Ninja: move -LIBPATH behind -link
option, 2012-09-26) accidentally added code that overwrites the
framework search path flags on each iteration instead of appending.
Change '=' to '+=' to fix it.  This affects Makefile and Ninja
generators.
OS X: Detect implicit link directories on modern toolchains

We detect the implicit link directories for the toolchain by adding a
flag to get verbose output from the compiler front-end while linking the
ABI detection binary.  Newer OS X toolchains based on Clang do not add
the implicit link directories with -L options to their internal
invocation of "ld".  Instead they use a linker that comes with the
toolchain and is already configured with the proper directories.

Add the "-Wl,-v" option to ask "ld" to print its implicit directories.
It displays them in a block such as:

 Library search paths:
	/...

Parse this block to extract the implicit link directories.

While at it, remove the checks introduced by commit efaf335b (Skip
implicit link information on Xcode, 2009-07-23) and commit 5195a664
(Skip implicit link info for multiple OS X archs, 2009-09-22).  Discard
the non-system link directories added by Xcode.  Discard all detected
implicit libraries in the multi-architecture case but keep the
directories.  The directories are still useful without the libraries
just to suppress addition of explicit -L options for them.
OS X: Detect implicit linker framework search paths

Previously we hard-coded a list of implicit framework directories but
did not account for CMAKE_OSX_SYSROOT or for changes to the list across
OS X versions.  Instead we should automatically detect the framework
directories for the active toolchain.

The parent commit added the "-Wl,-v" option to ask "ld" to print its
implicit directories.  It displays a block such as:

 Framework search paths:
	/...

Parse this block to extract the list of framework directories.

Detection may fail on toolchains that do not list their framework
directories, such as older OS X linkers.  Always treat the paths

 <sdk>/Library/Frameworks
 <sdk>/System/Library/Frameworks
 <sdk>/Network/Library/Frameworks # Older OS X only
 /System/Library/Frameworks

as implicit.  Note that /System/Library/Frameworks should always be
considered implicit so that frameworks CMake finds there will not
override the SDK copies.
CTest: Prevent creation of unbounded number of tests in ctest (#12904)

Note it is still possible for CTest to start more than the number of
processes specified by PARALLEL_LEVEL, but this prevents the number of
tests to start from being unbounded because of overflow.
KWSys 2012-12-19 (933eb822)

Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ 933eb822 | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' 3b17de34..933eb822
Brad King (2):
      fea37696 Process: Remove support for Windows 98
      01e15c22 Remove KWSys Registry

Rolf Eike Beer (7):
      f376ec32 SystemInformation: fix typos
      bfee5174 SystemInformation: sum up all caches found in /proc/cpuinfo
      5690d711 SystemInformation: fix value extraction from /proc/cpuinfo
      36295981 SystemInformation: PA-RISC chips are from HP
      72e9d02e SystemInformation: try harder to find a useful processor name
      b39de34c SystemInformation: try harder to find the CPU family
      933eb822 SystemInformation: extract CPU stepping information from /proc/cpuinfo, too

Sean McBride (2):
      5e17bfde Process: Dereference NULL++ instead of NULL to force crash
      86a78cb7 SystemTools: Add check for empty strings to prevent integer underflow

Change-Id: Id7194f434fe67be81e6ee9e96d705010a1171a06
Merge branch 'upstream-kwsys' into update-kwsys
Remove references to KWSys Process Win9x support

The KWSys "EncodeExecutable" and "ProcessFwd9x" executables were dropped
from KWSys along with Win9x Process support.  Drop references from the
rest of the CMake build rules.
Use cmsys::auto_ptr to manage cmCompiledGeneratorExpressions

The compiled generator expressions need to outlive the creating
type. For the same reason, store the input string in a std::string.
KWIML: Teach ABI.h about Aarch64

The __aarch64__ defines Aarch64, while __AARCH64EB__ defines bigendian
and __AARCH64EL__ little endian.  Only little endian tested, no big
endian toolchain exists yet.

Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Merge branch 'upstream-kwiml' into update-KWIML
Fix some warnings from -Wundef

Other warnings come from kwsys, so the flag can't be enabled.
KWSys 2012-12-21 (8ce09af5)

Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ 8ce09af5 | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' 933eb822..8ce09af5
Riku Voipio (1):
      8ce09af5 CPU: Add Aarch64 support

Change-Id: I4bd0a97abaa0f958e2679afe2d4ad4bcc37434a0
Merge branch 'upstream-kwsys' into update-kwsys
Replace some 'if' with 'else if'

For consistency with the rest of the method.
CMake Nightly Date Stamp
CMake Nightly Date Stamp
CMake Nightly Date Stamp
CMake Nightly Date Stamp
CPack: WIX Product Icon, UI Banner, UI Dialog support (#13789)
CMake Nightly Date Stamp