CMake 3.1.0
install: Allow absolute EXPORT destination with relative targets (#15258)

When install(EXPORT) is given an absolute destination we cannot compute
the install prefix relative to the installed export file location.
Previously we disallowed installation of targets in such exports with a
relative destination, but did not enforce this for target property
values besides the location of the main target file.  This could lead to
broken installations when the EXPORT is installed to an absolute path
but usage requirements are specified relative to the install prefix.

Since an EXPORT installed to an absolute destination cannot be relocated
we can just hard-code the value of CMAKE_INSTALL_PREFIX as the base for
relative paths.  This will allow absolute install(EXPORT) destinations
to work with relative destinations for targets and usage requirements.

Extend the ExportImport test with a case covering this behavior.
CTest: Remove code to fix scanbuild errors

Remove code from cmParseBlanketJSCoverage.cxx and
cmParseDelphiCoverage.cxx which caused scanbuild errors
about not reading the value that was stored.
Tests: Allow RunCMake tests to pass generator expressions
Tests: Simplify RunCMake test extra argument passing

Allow add_RunCMake_test calls to pass non-optional arguments
immediately.
Help: Mention add_dependencies in add_custom_target DEPENDS option

This will direct readers looking to add target-level dependencies.
Help: Document MAIN_DEPENDENCY limitation in add_custom_command

Specify explicitly that at most one custom command may use a given
source file as its main dependency.
Tests: Allow RunCMake expected result code to be a regex

This will allow the '-result.txt' files to specify a regex matching
different results on different platforms.
ctest_memcheck: Do not open empty BC output file name

In cmCTestMemCheckHandler::PostProcessBoundsCheckerTest return early
if the output file name is empty.  We already do this in the similar
cmCTestMemCheckHandler::AppendMemTesterOutput method.
Tests: Fix CheckSourceTree test for newer Git

The output of 'git status' no longer starts each line in '#'.
Match that optionally.
CMake Nightly Date Stamp
FindGSL: Add module to find the GNU Scientific Library
Add 'ANDROID_API_MIN' target property to set Android Target MIN API

Also add a 'CMAKE_ANDROID_API_MIN' variable to set the property
default.  Teach the VS generator to write the MIN API value into
Nsight Tegra project files.
cmTarget: Use GetCFBundleDirectory within GetFullNameInternal

Replace duplicated code by call to GetCFBundleDirectory.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
Xcode: Call IsCFBundleOnApple to decide if bundle is being built

Narrow down the decision if a CFBundle is built to one place.
This is a preparation patch to add another target property
which, if set, will imply BUNDLE.  Having only one function
which will have to look at both properties helps to keep code
clean.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
sha2: Fix -Wcast-qual warnings by adding const to some casts
Merge branch 'release'
Merge topic 'doc-custom-command-depends'

953d34fd Help: Document MAIN_DEPENDENCY limitation in add_custom_command
9859042c Help: Mention add_dependencies in add_custom_target DEPENDS option
Merge topic 'test-CheckSourceTree-update'

2a3e2631 Tests: Fix CheckSourceTree test for newer Git
Merge topic 'fix_coverage_scanbuild_errors'

0622f92d CTest: Remove code to fix scanbuild errors