NSIS: Fix incorrect uninstall registry key name (#13578)

Thanks to Alexander for the bug report.
Add module FindIcotool

This module looks for icotool.

Signed-off-by: Aleksey Avdeev <solo@altlinux.ru>
CTest: Ensure CTEST_USE_LAUNCHERS behaves nicely in Superbuild setup

When building a project relying on External projects, the launchers were
not used in subprojects built without testing enabled. This was preventing
errors and warnings associated with these subprojects from being
reported on the dashboard.

This commit allows enabling the launchers independently of the value of
"BUILD_TESTING" using one of these two approaches:

1) By setting both CTEST_USE_LAUNCHERS and the env variable
"CTEST_USE_LAUNCHERS_DEFAULT" to 1 in the ctest dashboard driver scripts.

2) By enabling the variable CTEST_USE_LAUNCHERS in the ctest dashboard
driver script and also by ensuring every external project passes the option
-DCMAKE_PROJECT_<projectname>_INCLUDE:FILEPATH=${CMAKE_ROOT}/Modules/CTestUseLaunchers.cmake
CMake Nightly Date Stamp
CPack: Add automatic detection of the Unicode makensis (#9629)
GenEx: Parse colon after arguments separator colon specially.

The rationale is similar to that in commit b3d8f5da (GenEx: Parse comma
after colon tokens specially, 2012-10-04), in that colon tokens should
not be parsed as identifier-argument delimiters after the first colon.
GenEx: Test the use of generator expressions to generate lists.

We can't test this in the GeneratorExpression unit test because
the ';' chars are processed specically by the CMake function argument
parser.
GenEx: Fix termination bugs in generator expression parser.

Content which is incomplete as a generator expression could cause
segfaults by advancing an iterator beyond end() and dereferencing
it. Such incomplete generator expressions  should be treated as
plain text instead.
GenEx: Break if there are no more commas in the container

This was causing an assert on Windows which has safety features for
iterating past the end of the container.
GenEx: Add some more asserts to verify code-sanity.
GenEx: Replace some failing tests with Borland and NMake makefiles.

The '<<' is a special sequence on those platforms, so it can't appear in
the test.
GenEx: Fix reporting about not-found include directories and libraries.

This fixes a regression introduced in commit 290e92ad (Move
GetIncludeDirectories to cmGeneratorTarget, 2012-09-16) which loops over
cmGeneratorTargets before they get created, so the container is empty.
Fix config-specific INCLUDE_DIRECTORIES in multi-config generators

Commit 08cb4fa4 (Process generator expressions in the
INCLUDE_DIRECTORIES property, 2012-09-18) contained an incorrect
assumption that CMAKE_BUILD_TYPE was set on the makefile for each
generated configuration in multi-config generators. Fix that by making
the GetIncludeDirectories API depend on the config.
Merge topic 'test-ctest-memcheck'

995a35f CTest: add a check with a quoted memory checker
de8bffc CTest: add a test for CTEST_CUSTOM_MEMCHECK_IGNORE
d26c9b6 CTest: improve memory checker type detection
fcae1da CTest: add tests that simulate memcheck runs
6187876 CTest: fix pre and post test commands with spaces
95bc8aa CTest: fix usage of memory checker with spaces in path
Merge topic 'FortranCInterface-verify-flags'

71491bb FortranCInterface: Pass all flags to VERIFY project (#13579)
Merge topic 'codeblocks-cdefs'

60a3c08 Fix regression: write compile definitions if any
Merge topic 'suncc-compile-fix'

a573a85 Attempt to fix the compile of cmake on Sun CC.
Merge topic 'Fix-XXX_ON_ABSOLUTE_INSTALL_DESTINATION-handling'

561b4ba CPACK_XX_ON_ABSOLUTE_INSTALL_DESTINATION is now properly checked for ON/OFF
Merge topic 'fix-some-CPackDoc-typos'

2aad678 Document CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY and fix some typo.
Merge topic 'CPack-ArchiveGen-andDESTIR_ON'

ddec053 Make CPACK_SET_DESTDIR work with archive generator + component-based packaging