FindGTK2: Add support for Quartz backend on MAC

Fix issue #14593
Ninja: deptype msvc for Intel's compiler on Windows
Ninja: multiple commands must be quoted

Bug 14370
UseSWIG: Handle a dll name different than module name (#13814)
UseSWIG: Remove duplicate include dirs (#14520)

Shorten the swig command line.
INTERFACE_LIBRARY: Avoid codepaths which set unneeded properties.

As an INTERFACE_LIBRARY has no direct link dependencies, we can
short-circuit in cmGeneratorExpressionEvaluator and
in cmGlobalGenerator::CheckLocalGenerators.

As they do not generate any output directly, any generate- or install-
related code acn also be short-circuited. Many of the local generators
already do this.

Because only INTERFACE related properties make sense on INTERFACE_LIBRARY
targets, avoid setting other properties, for example via defaults.
cmTarget: Add whitelist of properties on INTERFACE_LIBRARY.
libarchive: Port upstream issue 320 fix

Port upstream commit 533e8fda (Rework the sign-extension to avoid
left-shift of an explicit negative number, 2013-06-29) into CMake.

Inspired-by: Tim Kientzle <kientzle@freebsd.org>
KWSys 2013-11-21 (1010d0e3)

Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ 1010d0e3 | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' 6eab64c3..1010d0e3
Brad King (2):
      ace1364c Encoding: Remove unused include
      1010d0e3 SystemTools: Avoid unused function warnings

Clinton Stimpson (4):
      0c2ff1f7 Encoding: Add Encoding module.
      8abbad82 FStream: Add FStream module.
      0a98de97 KWSys: Port to use wide character Windows APIs throughout.
      2b0c683d Encoding: Default to ANSI code page on Windows

David Cole (1):
      f67bb2ba SystemTools: Move typedef mode_t inside the SystemTools class

Sean McBride (1):
      a40b9263 SystemInformation: Work around gcc -Wliteral-suffix warning

Change-Id: Ie52df972331cc7377c236d410ead86024e9d15ab
Merge branch 'upstream-kwsys' into update-kwsys
bootstrap: Add KWSys Encoding and FStream

Run the KWSYS_STL_HAS_WSTRING platform test and configure the result.
Configure the Encoding and FStream header files and build the sources.
On Windows, build EncodingC.c with KWSYS_ENCODING_DEFAULT_CODEPAGE=CP_ACP.
Watcom: Suppress WMake interactive prompt on error

Add the "-e" option to build.make invocations of wmake as part of
the silencing flags.  From "wmake /?":

 -e erase files after error (no prompt)

This prevents test timeouts on error.
cmGeneratorTarget: Use the output directory to order cmTargets.

The output directory must be unique, but the source directory
of an add_subdirectory call may be re-used.
Ninja: job pool support for compiling and linking

Could be tested by setting the environment
variable NINJA_STATUS=[%r]
cmQtAutogen: Allow specifying depends for autogen targets.

Test this by generating files with a custom target, which moc
requires to be present when it is run.
Update the Clang pattern to specify compiler options.

In Clang 3.4, the preferred (and new) option pattern is --target=.

 http://thread.gmane.org/gmane.comp.compilers.clang.devel/29975
 http://llvm.org/viewvc/llvm-project?view=revision&revision=184408

Clang 3.4 is not yet released, but there is a release candidate, and
there is a dashboard test of Clang trunk.
Help: Fix typo in genex docs.

would be require -> would require
Help: Fix typo in CMP0040 docs.

'report and error' -> 'report an error'
Merge topic 'FindGTK2-quartz-backend'

0e9bf6a FindGTK2: Add support for Quartz backend on MAC
Merge topic 'ninja-msvc-deps-for-intel'

76a8888 Ninja: deptype msvc for Intel's compiler on Windows