Merge branch 'fix-Qt-manual-typo' into release
Merge branch 'clang-warnings' into release
Merge branch 'fix_policy_diagnostics' into release
Merge branch 'revise-compiler-id-policies' into release
Merge branch 'Qt4Macros-moc-performance' into release
libarchive 3.1.2-218-g00f4bd83 (reduced)

Extract upstream libarchive using the following shell code.

url=git://github.com/libarchive/libarchive.git &&
v=3.1.2-218-g00f4bd83 &&
r=00f4bd83 &&
paths="
  CMakeLists.txt
  COPYING
  CTestConfig.cmake
  build/cmake
  build/pkgconfig
  build/utils
  build/version
  libarchive/*.*
" &&
mkdir libarchive-$v-g$r-reduced &&
git clone $url libarchive-git &&
date=$(cd libarchive-git && git log -n 1 --format='%cd' $r) &&
(cd libarchive-git && git archive --format=tar $r -- $paths) |
(cd libarchive-$v-g$r-reduced && tar xv) &&
fromdos libarchive-$v-g$r-reduced/build/cmake/Find*.cmake &&
echo "g$r date: $date"
libarchive: Disable more whitespace checks in third-party code
Merge branch 'libarchive-upstream' into update-libarchive

Resolve conflicts in favor of the upstream side where possible.
Resolve a logical conflict in archive_windows.h where the upstream
port to Watcom was done slightly differently from ours.
libarchive: Update README-CMake.txt for new snapshot
libarchive: Do not generate a pkg-config file

CMake does not install the headers or libraries so skip the .pc file
too.
libarchive: Drop options not present in reduced version

Drop ENABLE_TAR and ENABLE_CPIO related options because we do not build
these command-line tools.  Drop ENABLE_TEST and ENABLE_COVERAGE options
because we do not build the tests.
libarchive: Update archive_util.c to use CMake zlib and bzip2 headers
libarchive: Convert literal LL suffix to ARCHIVE_LITERAL_LL
libarchive: Do not require includers to have windows.h

In archive_entry.h refer to "BY_HANDLE_FILE_INFORMATION *" using
"struct _BY_HANDLE_FILE_INFORMATION *" to avoid requiring the
includer to already have <windows.h>.
Update libarchive configuration within CMake

Hard-code libarchive build options to the way CMake needs them.  Set
them as internal cache entries so users do not see them when building
CMake.
ExternalProject: Find VCS packages quietly

This keeps the VCS packages out from FeatureSummary output, unless
the INCLUDE_QUIET_PACKAGES is used.
Fix build on AIX failing because of access to string elements

The compilation failed with this error message:

.../Source/cmCryptoHash.cxx: In method `string cmCryptoHash::HashString (const string &)':
.../Source/cmCryptoHash.cxx:41: non-lvalue in unary `&'

This was introduced in 77f60392d93f41a8828d3db1d7b76d45f1535d07 (stringapi:
Accept strings when MD5 hashing data).
RunCMake: Allow specifying the source dir and file to test.

This will allow decoupling the name of the test from the name and
location of the source file under test, which means one source
file can be used for multiple tests.

Rename the PARENT_SCOPE test in RunCMake.set to not use a keyword
of the if() command as a file name.  As the filename is now used
with an if condition, this causes a conflict.
Re-word comment on unreachable return statements

Do not use the word "warning" in the comment because CTest launchers
match it and CTestCustom.cmake.in does not suppress it.
Don't load Clang-CXX from AppleClang-CXX.

The Clang-CXX module is going to get version-specific checks, and
the version system for AppleClang is not the same as Clang.