cmIDEOptions: Factor FlagMap update out to separate method

This will allow it to be re-used in other code paths.
VS: Support mapping flags with values following separately (#14858)

Add a "UserFollowing" special flag table entry indicator to say that a
flag expects a value in a following argument.  Teach cmIDEOptions to
handle such flags.
VS: Fix /analyze:log flag mapping (#14858)

Fix the VS 11 and VS 12 flag table entries for this flag.  It requires
a value in the following argument.  Also drop the general "/analyze:"
flag table entry so that such flags will be passed through as plain
additional options.  This is necessary because some such options have
following values and some do not but not all have .vcxproj elements
to hold the values.
CMake Nightly Date Stamp
Simplify multiple config handling.

Use conventional pattern of not repeating the loop body for empty
config.
Merge topic 'simplify-multi-config' into next

936e00b9 Simplify multiple config handling.
Watcom: Cleanup Windows-wcl386 configuration

* Remove Watcom linker caseexact options already defined in system
  definition.
* Use win_dll system for SHARED_LIBRARY and SHARED_MODULE.
* Use explicit target definition -bt=.. option for proper initialization
  of compiler Windows environment (predefined macros)
* Reorganize compiler options to global options and configuration
  specific options
* Use option to optimize out stack checking code for release version
Merge topic 'vs-flag-with-following-value' into next

e8633e66 VS: Fix /analyze:log flag mapping (#14858)
650199e7 VS: Support mapping flags with values following separately (#14858)
f2a3dd9d cmIDEOptions: Factor FlagMap update out to separate method
cmSystemTools: Restore unreachable return to silence warnings

Some compilers do not recognize that the end of copy_data cannot
be reached and complain that there is no return statement.  Clang
warns that there is an unreachable return statement if it appears.
Conditionally add the return statement when not building with Clang.
Merge topic 'clang-warnings' into next

1de08685 cmSystemTools: Restore unreachable return to silence warnings
Merge topic 'watcom-platform-module-cleanup' into next

1e22b23c Watcom: Cleanup Windows-wcl386 configuration
5ada4be8 CMake Nightly Date Stamp
Help: Rewrite the cmake-developer.7 find module documentation

As well as the traditional variables, providing imported targets is
suggested, and the relative advantages and disadvantages briefly
discussed.

A mini-tutorial walking through creating a simple find module is
provided.

This changes the recommended version variable from Foo_VERSION_STRING to
Foo_VERSION, because there is really no need to have different variable
names for package version files vs. find modules.  It notes the old
variable name, though, and suggests setting it for compatibility.
Merge topic 'doc-find-module-development' into next

fcdf86d0 Help: Rewrite the cmake-developer.7 find module documentation
CTestCustom: Suppress conversion warnings in QtWidgets headers

We already do so for QtCore and QtGui headers.
Merge topic 'suppress-conversion-warnings-in-QtWidgets' into next

391c73db CTestCustom: Suppress conversion warnings in QtWidgets headers
Help: Revise and format policy CMP0025 and CMP0047 docs

Add inline reST markup as appropriate.  Word CMP0047 docs more like
those of CMP0025.  State explicitly that the policies must be set
before the project or enable_language command calls.
Do not warn by default when policy CMP0025 or CMP0047 is not set

These policies are triggered by the use of a particular compiler rather
than outdated CMake code in a project.  Avoid warning in every project
that enables a language by not displaying the policy warning by default.
Add variable CMAKE_POLICY_WARNING_CMP<NNNN> to control the warning
explicitly.  Enable the warning with --debug-output, --trace, or -Wdev.

This breaks with strict policy convention because it does not provide
developers with any warning about the behavior change by default.
Existing projects will continue to build without a warning or change in
behavior.  When a developer changes the minimum required version of
CMake in a project to a sufficiently high value (3.0), the project will
suddenly get the new compiler id and may break, but at least the
breakage comes with a change to the project rather than the version of
CMake used to build it.

Breaking strict policy convention is worthwhile in this case because
very few projects will be affected by the behavior change but every
project would have to see the warning if it were enabled by default.
Merge branch 'master' into revise-compiler-id-policies
cmMakefile: Port PolicyOptionalWarningEnabled to string APIs

This method was added in a commit based on a release branch that
pre-dated the std::string API changes.  Port the implementation to use
the string APIs instead of c_str().
Merge topic 'revise-compiler-id-policies' into next

25ebaeda cmMakefile: Port PolicyOptionalWarningEnabled to string APIs
3c76cdd9 Merge branch 'master' into revise-compiler-id-policies
9f9fcf9e Do not warn by default when policy CMP0025 or CMP0047 is not set
9f7fb645 Help: Revise and format policy CMP0025 and CMP0047 docs