CheckTypeSize: Support for CXX when C language is not enabled

This example now works without need to enable C language:

  cmake_minimum_required(VERSION x.x.x)
  project(foo CXX)
  include(CheckTypeSize)
  check_type_size("short" SIZEOF_SHORT LANGUAGE CXX)

Fixes #14056
Watcom: Add one blank line to Makefile for better readability
Rename local 'dir_max' variables to 'dir'

The code is not computing the maximum length directory, as is the
case in cmLocalVisualStudioGenerator::ComputeLongestObjectDirectory.
cmGeneratorExpression: Remove unused include.
Makefiles: Remove duplicate code.

The cmGlobalUnixMakefileGenerator3::ProgressMapCompare struct is
logically equivalent to cmStrictTargetComparison.
cmMakefile: Fix typo in comment.
cmMakefile: Fix style.

Use this-> for member access.
file: Avoid runaway DOWNLOAD/UPLOAD progress reports (#14807)

Curl makes progress callbacks frequently but we round to the nearest
percent and report only when that changes so that we make at most 101
progress reports.  However, when unexpected data beyond the total are
transferred the progress can get beyond 100% and lead to unlimited
reports.  Avoid this case by capping the reported progress to 100%.
ExternalProject: Add option to disable download progress (#14807)

Add a DOWNLOAD_NO_PROGRESS option to disable progress reports while
downloading source tarballs.
CheckTypeSize: Add unit test to cover the no-C case
FindPkgConfig: small refactoring
FindPkgConfig: More unit tests
Help: Add notes for topic 'ExternalProject-no-download-progress'
Watcom: Detect compiler target architecture and platform

In CMakePlatformId.h.in, fill ARCHITECTURE_ID and PLATFORM_ID for Open
Watcom.
Watcom: Introduce OpenWatcom compiler id and fix compiler version

Distinguish "Open Watcom" from old "Watcom" by introducing a new
"OpenWatcom" compiler id.  The __WATCOMC__ format is "VVRP" for Watcom
and "VVRP + 1100" for Open Watcom.
Watcom: Enable 'WMake Makefiles' generator on Linux
Unicode: check encoding of files given to configure_file.

UTF-16 and UTF-32 files are rejected.
QtDialog: Fix Qt 5 build on non-Windows.

The Qt5Core_QTMAIN_LIBRARIES variable is defined to the Qt5::WinMain
target on Windows, and undefined elsewhere.
Disallow INTERFACE libraries with add_custom_command(TARGET).

Don't attempt to trace their dependencies.
Tests: Teach CMakeOnly.AllFindModules to tolerate a system KDE4

The FindKDE4 module (incorrectly) modifies CMAKE_MODULE_PATH on the
caller's behalf.  This causes KDE4-installed find modules to be used by
the test instead of those in CMake.  Teach the test to restore the
CMAKE_MODULE_PATH to its original value after each find_package call.
This ensures that the next find_package actually tests our module.