create_test_sourcelist: Suppress MSVC warnings in test driver (#15066)

Suggested-by: Ken Moreland <kmorel@sandia.gov>
FindMPI: Honor MPI_HOME for MPIEXEC (#14347)

We already use MPI_HOME and ENV{MPI_HOME} as hints for the location
of the MPI compilers.  Do the same for mpiexec, and then use the
location of mpiexec as a hint to find the compilers.
VS: Re-arrange WriteExtraSource to support tool configuration

Add a code path to write the tool open and close elements separately
so that we can add content in between to configure it.
VS: Add a source file property to mark content for Windows App deployment

Create a VS_DEPLOYMENT_CONTENT source file property, supporting
generator expressions, to compute whether a source file should be marked
as DeploymentContent or ExcludedFromBuild in Windows Phone and Windows
Store projects.

Inspired-by: Minmin Gong <minmin.gong@gmail.com>
VS: Add a source file property to set the hlsl shader type

Create a VS_SHADER_TYPE source file property.

Inspired-by: Gilles Khouzam <gillesk@microsoft.com>
Help: Add notes for topic 'vs-special-source-file-properties'
Makefile: Handle '#' in COMPILE_OPTIONS (#15070)

Teach the Makefile generators to escape '#' characters on the right hand
side of variable assignments in flags.make.  This is needed for flags
like '-Wno-error=#warnings'.  Otherwise the make tool treats them as
comments and leaves them out of the _FLAGS variable value.

Add a case to the CompileOptions test covering '#' in a COMPILE_OPTIONS
value, at least on compilers where it is known to be supported.
CPackIFW: Revise this generator

CPack IFW generator updates:
- Group now can have script;
- Root package (for monolithic or one package installers) can be
  configured from group.

CMake updates:
- Native installation (no Unspecified component).
cmake-gui: Pass CMAKE_SYSTEM_VERSION from cross-compile configuration

Although this value can be configured in the dialog, it was simply not
passed to the project as CMAKE_SYSTEM_VERSION.  Fix that.
CTEST: Fix MUMPS file parser and update test

The current file parser for a MUMPS routine uses a period "." as the
one of the signals that a line of MUMPS code is executable.  This is not
a correct assumption.  Add the period to the list of characters that CTest
will not consider the start of a line of code.

Update the test routine to have an entry point with code to match the scenario
mentioned above.
CMake Nightly Date Stamp
Add CheckFortranSourceCompiles module (#14656)

Copy the CheckCSourceCompiles module and port it to Fortran.
Extend the FortranOnly test to try using the new module.

Suggested-by: Nicolas Bock <nicolasbock@gmail.com>
ctest_update: Add CTEST_UPDATE_VERSION_ONLY option to only note the version

This allows ctest_update to get the current version without actually
changing the repository.  This is useful when using Jenkins or an
external project to update the source to a specific version, but you
still want the current version to show up in CDash.
Merge topic 'create_test_sourcelist-msvc-warnings'

63fc8dcd create_test_sourcelist: Suppress MSVC warnings in test driver (#15066)
Merge topic 'FindMPI-mpiexec-MPI_HOME'

150c2125 FindMPI: Honor MPI_HOME for MPIEXEC (#14347)
Merge topic 'makefile-assign-escape-octothorpe'

fbf7a929 Makefile: Handle '#' in COMPILE_OPTIONS (#15070)
Merge topic 'cpack-ifw-generator'

e6496b60 CPackIFW: Revise this generator
Merge topic 'add-CheckFortranSourceCompiles'

7386d0d6 Add CheckFortranSourceCompiles module (#14656)
Merge topic 'cmake-gui-system-version'

1412960e cmake-gui: Pass CMAKE_SYSTEM_VERSION from cross-compile configuration
CTest: Allow / to be in the build name, and be consistent with the build name

Prior to this change / was not allowed in the build name. This was tested
with a CDash server and worked. In addition the safe build name was not
used everywhere. This caused mismatched build names to be in the xml
files going to CDash which caused different rows to be created for the
same build.