CMake Nightly Date Stamp
add_subdirectory: Compute output dir with consistent slashes (#10072)

When the command is invoked without an explicit build directory path we
compute it from the source directory path.  When either the source or
build tree is the root of a Windows drive letter it will have a trailing
slash.  Handle slashes consistently when substituting the current output
directory for the current source directory.

While at it, use cmSystemTools::IsSubDirectory instead of FindLastString
to verify that the source directory is a subdirectory.

Inspired-by: Graham Menhennitt <graham@menhennitt.com.au>
FindCUDA: Remove linkage against CUDA driver library (#13084)

The CUDA runtime library (libcudart) doesn't depend on the driver API
library (libcuda) and shouldn't be used to link CUDA run time codes.
FindCUDA: Add support for separable compilation

This adds a new variable, CUDA_SEPARABLE_COMPILATION, and two new
functions, CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME and
CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS.

When CUDA_SEPARABLE_COMPILATION is specified then CUDA runtime objects
will be compiled with the separable compilation flag.  These object
files are collected in a target named variable that can be used in
CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME and
CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS.
FindCUDA: Added cupti library.

In addition to adding the cupti library, find_local_library_first has
been renamed to cuda_find_local_library_first with a backward
compatibility macro to find_local_library_first.  Also added
cuda_find_local_library_first_with_path_ext to handle different paths.
Restore support for target names with '+' (#13986)

Extend the range of valid target names with the + sign.  This character
can commonly be used for target names, such as those containing 'c++'.
Add a test but skip it for Borland and Watcom tools which do not support
the character.

Suggested-By: Benjamin Kloster
FindQt4: Do not use qmake from Qt5

Wihtout this, if qmake binary is from Qt5 the FindQt4 fails even though
the Qt4 version of qmake would be installed as qmake-qt4.

On Archlinux this is the case.

Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Merge branch 'FindCUDA.cmake/DontLinkAgainstCUDADriver' into next
Merge branch 'FindCUDA.cmake/SeparableCompilation' into next
Merge branch 'FindCUDA.cmake/AddCUDA_cupti_LIBRARY' into next
Merge topic 'fix-transitive-target-names' into next

1bdd167 Restore support for target names with '+' (#13986)
Merge topic 'findqt4-withqt5' into next

2112341 FindQt4: Do not use qmake from Qt5
Merge topic 'FindImageMagick-v6.8.0-8'

5fe9855 FindImageMagick: Search quantum depth suffixes (#13859)
Merge topic 'FindCUDA.cmake/DontLinkAgainstCUDADriver'

3497bc2 FindCUDA: Remove linkage against CUDA driver library (#13084)
Merge topic 'FindCUDA.cmake/SeparableCompilation'

6a19150 FindCUDA: Add support for separable compilation
Merge topic 'FindCUDA.cmake/AddCUDA_cupti_LIBRARY'

c939b49 FindCUDA: Added cupti library.
Merge topic 'Win-HOST_SYSTEM_PROCESSOR'

20681c9 fix Windows processor detection
Merge topic 'update-find_package-docs'

b73e05d Mention that IMPORTED targets may be created by a find_package call.
Merge topic 'clean-target_link_libraries-test'

adcc00b Remove unused parameters from target_link_libraries tests.
Merge topic 'fix-transitive-target-names'

1bdd167 Restore support for target names with '+' (#13986)
254687d Only process transitive interface properties for valid target names.