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.
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>
KWSys 2014-12-18 (87c65319)

Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ 87c65319 | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' cc4046a8..87c65319
Sean McBride (1):
      87c65319 SharedForward: Suppress clang -Wcast-qual warnings with conditional pragma

Change-Id: I2f79780385aca7e0caa24e5bb0c0b4106b786c37
Merge branch 'upstream-kwsys' into update-kwsys
bootstrap: Fix syntax for Solaris 10 shell (#15317)

In commit v3.1.0-rc2~7^2 (Workaround for short jump tables on PA-RISC,
2014-11-04) we added use of shell syntax not supported on the Solaris
shell.  Avoid using the '!' operator.

Reported-by: Friedrich Haubensak <hsk@imb-jena.de>
Tests: Run CFBundleTest only with valid configuration

The verification script needs to know the configuration tested.
Merge topic 'install-EXPORT-absolute-prefix'

dd089e08 install: Allow absolute EXPORT destination with relative targets (#15258)
Merge topic 'osx-cfbundle-tweaks'

b189c599 Tests: Run CFBundleTest only with valid configuration
3a605693 Xcode: Call IsCFBundleOnApple to decide if bundle is being built
207b7af0 cmTarget: Use GetCFBundleDirectory within GetFullNameInternal
Merge topic 'update-kwsys'

2e9acb6d Merge branch 'upstream-kwsys' into update-kwsys
1f7de543 KWSys 2014-12-18 (87c65319)
Merge topic 'bootstrap-solaris'

44c6db6e bootstrap: Fix syntax for Solaris 10 shell (#15317)