Revert "load_command: Deprecate and document pending removal"

This reverts commit d2d43986e7f5013465473a71c393fc3897cecbac.
We will add a policy to remove the command more gracefully.
VS11: Simplify external object file handling (#13831)

Since commit 9a6ff950 (Fix for bug where VS2010 did not use .obj files as
part of the build, 2011-04-01) and commit b291d9e7 (VS10: Fix external
objects generated outside target, 2012-03-19) we try to detect whether an
external object file is also a custom command output in the same target.
This is because VS10 includes .obj custom command outputs on the link line
by default.

VS 11 supports a "<LinkObjects ...>false</LinkObjects>" setting in custom
command rules to tell VS not to link the outputs.  From the VS help:

 Specify whether the Inputs and output files with specific extensions (.obj,
 .lib, .res, .rsc) are passed to the linker.

Treat all external object files the same and add "<Object>" settings for them.
FindQt4: set QT_VERSION_* variables sooner.

Set QT_VERSION_* variables sooner so they can be set before
Qt4ConfigDependentSettings.cmake uses them.
KWSys 2013-01-07 (fc60c8b8)

Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ fc60c8b8 | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' 8ce09af5..fc60c8b8
Brad King (3):
      cb5f835f SystemTools: Fix MakeDirectory with colon in path
      1643507a IOStream: Fix check for compiler 'long long' support
      34177aec SystemTools: Fix MakeDirectory after recent cleanup

Rolf Eike Beer (24):
      4da9894d SystemInformation: Clean up QuerySolarisInfo()
      01392358 SystemInformation: don't attribute i386 Solaris systems to Sun
      3db65ac1 SystemInformation: wrap the call to CPUID in a function
      61bd9b42 SystemInformation: use the __cpuid compiler intrinsic if present
      5932e7c0 SystemInformation: query memory size on Cygwin using sysconf()
      ea5612ed SystemInformation: count memory with _SC_PAGESIZE and _SC_PHYS_PAGES
      3aca6642 SystemInformation: query memory size, CPU count, and CPU speed on BSD
      3572c54d SystemInformation: count CPUs on HP-UX
      e6771b34 SystemInformation: determine CPU type on HP-UX
      640210e5 SystemInformation: use /proc/cpuinfo only when present
      5bdcfd10 SystemInformation: query total memory on AIX
      de69d547 SystemInformation: use intrinsic for RDTSC if supported
      9808d4e7 SystemInformation: get CPU speed on Windows when RDTSC fails
      f4c625b5 tests: avoid truncation of testSystemInformation output in CDash
      03d6fbe5 SystemInformation: get x86 CPU features from /proc/cpuinfo
      f8e917c1 SystemInformation: remove the #define CPUID_INSTRUCTION
      59c4b5c5 SystemInformation: split Windows code out of QueryMemory()
      200ee91f SystemInformation: split HP-UX code out of QueryMemory()
      88217703 SystemInformation: split Linux code out of QueryMemory()
      9e317872 SystemInformation: split AIX code out of QueryMemory()
      349cee5b SystemInformation: remove useless zeroing from QueryMemory()
      7271926e SystemInformation: split Cygwin code out of QueryMemory()
      6da78ad1 SystemInformation: make QueryMemory() return bool
      182179e9 Haiku no longer defines __BEOS__

Stephen Kelly (1):
      247b8a3c SystemTools: Rename MakeCnidentifier() to MakeCidentifier()

Change-Id: Ib95b5bddab7ecc0a4025ab29792426acf57e5623
Merge branch 'upstream-kwsys' into update-kwsys
Make linking APIs aware of 'head' target

The 'head' is the dependent target to be linked with the current target.
It will be used to evaluate generator expressions with proper handling
of mapped configurations and is used as the source target of properties.

This requires that memoization is done with a key of a pair of target
and config, instead of just config, because now the result also depends
on the target.  Removing the memoization entirely is not an option
because it slows cmake down considerably.
Add LINK_LIBRARIES property for direct target link dependencies

Previously we kept direct link dependencies in OriginalLinkLibraries.
The property exposes the information in the CMake language through the
get/set_property commands.  We preserve the OriginalLinkLibraries value
internally to support old APIs like that for CMP0003's OLD behavior, but
the property is now authoritative.  This follows up from commit d5cf644a
(Split link information processing into two steps, 2012-11-01).

This will be used later to populate the link interface properties when
exporting targets, and will later allow use of generator expressions
when linking to libraries with target_link_libraries.

Also make targets depend on the (config-specific) union of dependencies.
CMake now allows linking to dependencies or not depending on the config.
However, generated build systems are not all capable of processing
config-specific dependencies, so the targets depend on the union of
dependencies for all configs.
Add CMAKE_BUILD_INTERFACE_INCLUDES build-variable.

This makes

 set(CMAKE_BUILD_INTERFACE_INCLUDES ON)

add the equivalent of

 set_property(TARGET tgt APPEND PROPERTY
   INTERFACE_INCLUDE_DIRECTORIES
   $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_BINARY_DIR}>
 )

to every target.

If the headers are in CMAKE_CURRENT_SOURCE_DIR, and the generated headers
are in CMAKE_CURRENT_BINARY_DIR, this is a convenient way to build a target
bar, which depends on foo, just by using target_link_libraries() and adding
the INTERFACE_INCLUDE_DIRECTORIES to the INCLUDE_DIRECTORIES of the target
being linked. There will be more-convenient porcelain API to consume the
property in the future.
Merge topic 'deprecate-load_command'

09a0da7 Revert "load_command: Deprecate and document pending removal"
Merge topic 'vs11-external-object'

b684b39 VS11: Simplify external object file handling (#13831)
Merge topic 'qt4-version-openssl'

4b9ec00 FindQt4: set QT_VERSION_* variables sooner.
Merge topic 'include-dirs-convenience'

9ce1b9e Add CMAKE_BUILD_INTERFACE_INCLUDES build-variable.
Merge topic 'update-kwsys'

6f6afbd Merge branch 'upstream-kwsys' into update-kwsys
495fa24 KWSys 2013-01-07 (fc60c8b8)
Merge topic 'LINK_LIBRARIES-property'

7653862 Add LINK_LIBRARIES property for direct target link dependencies
40cf3fb Make linking APIs aware of 'head' target