Merge branch 'fix-QCC-compile-flags' into release
Merge branch 'compile-with-cray' into release
Merge branch 'backport-kwsys-qnx-fix' into release
cmTarget: Drop internal cache of link interface usage requirements

These use a huge amount of memory that accumulates as generation
proceeds.  On the Unix Makefiles generator, only GetIncludeDirectories
and GetCompileDefinitions are even called more than once per target
(once for build files, once for dependency scanning preprocessor info).
Another approach will be needed to avoid duplicate computation in the
cases where it does occur.
cmTarget: Drop internal cache of build properties

These use a huge amount of memory that accumulates as generation
proceeds.  On the Unix Makefiles generator, only GetIncludeDirectories
and GetCompileDefinitions are even called more than once per target
(once for build files, once for dependency scanning preprocessor info).
Another approach will be needed to avoid duplicate computation in the
cases where it does occur.
cmTarget: Remove duplicate link interface map

No target is both imported and not imported so we do not need separate
link interface maps for them.
cmTarget: Refactor link interface map storage

Convert LinkInterfaceMapType and LinkImplMapType to nested maps that
index on configuration first and 'head' target second.
cmTarget: Re-order link interface map lookup logic

In GetLinkInterface, GetLinkInterfaceLibraries, and
GetImportLinkInterface, lookup the HeadToLinkInterfaceMap for the
current configuration first, and then index it by head target.  In
GetLinkImplementationLibrariesInternal, lookup the
HeadToLinkImplementationMap for the current configuration first, and
then index it by head target.
cmTarget: Move ComputeLinkImplementation* to internals

There are no external callers, and this will allow the methods to see
the full OptionalLinkImplementation internal structure.
Genex: Track whether an expression depends on the 'head' target
cmTarget: Avoid re-computing head-independent link interfaces
FindImageMagick: Find arch include dir (#15007)
Fix memory leaks in extract tar.
cmVisualStudio10TargetGenerator: Remove dupilcate line
cmIDEOption: Store mapped flag values as a vector<string>

Some FlagMap entries are ;-lists.  Store values as vector<string> so
that individual values may contain ';' characters.  Delay the
construction of the final ;-list until writing to the VS project file.
With this approach the generated file may contain ;-separated values
that contain encoded ';' characters.
cmVisualStudioGeneratorOptions: Simplify XML escaping API

Accept arguments as std::string to avoid c_str() calls.
VS: Encode mapped flag values in XML project files (#15031)

Teach cmVisualStudioGeneratorOptions to encode FlagMap entries
and the FlagString value properly in vcproj/vcxproj XML files.
Update the one existing call site that pre-encoded the value
to not do so.
VS: Encode more content correctly in vcxproj files (#15031)

In cmVisualStudio10TargetGenerator, add missing cmVS10EscapeXML
calls around paths to source and object files, custom command
dependencies and outputs, and platform name/version values.
FindImageMagick: Provide per-component include dirs (#15007)

Set the ImageMagick_<component>_INCLUDE_DIRS variable that is mentioned
in the documentation but was not set before.
Handle more than one process with sanitizer errors.

Since the Sanitizers write out one log file per process, a single
test might have more than one log file. This commit allows ctest
to read all of the log files found for a particual test.