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.
CPack: WIX Product Icon, UI Banner, UI Dialog support (#13789)
FindSDL_...: Restore dropped search paths (#13819)

Restore the search paths that were accidentally dropped by me in commit
9ed24c53. This was already fixed for FindSDL.cmake in commit 7cb51739.
Make targets depend on the link interface of their dependees.
Add CTestLimitDashJ test (#12904)

Add a test that verifies that when ctest -j 4 is called, at most, 4 tests
are executed at any one time.

The test works by running the same script as each of 100 tests. And then setting
up test properties for DEPENDS, RUN_SERIAL, PROCESSORS and COST in order to get
the tests to run in a semi-deterministic ordering, even in parallel. The script
writes a file, sleeps for a bit, and then deletes the file. In the meantime, it
counts files that currently exist, and emits output that triggers a test failure
if the count of files is ever greater than 4.

Prior to the commit that fixed bug #12904, this would result in a failed test
because the output of some of the tests would indicate that more than 4 tests
were running simultaneously.

Now that this issue is resolved, this test will help guarantee that it stays
resolved moving forward.
Keep track of INCLUDE_DIRECTORIES as a vector of structs.

The struct can keep track of where the include came from, which gives
us proper backtraces.
Add a way to print the origins of used include directories.
Tests: Fix warning about unused variable

Resolve this warning:

 ".../Tests/CMakeCommands/target_link_libraries/depB.cpp", line 8: warning:
          variable "a" was declared but never referenced
    DepA a;
         ^
Merge topic 'update-KWIML'

2ce3278 Merge branch 'upstream-kwiml' into update-KWIML
3491652 KWIML: Teach ABI.h about Aarch64
Merge topic 'fix-undef-warnings'

310455c Fix some warnings from -Wundef