FindCUDA: Added CUDA_HOST_COMPILER variable.

Added a new CUDA variable for specifying the CUDA_HOST_COMPILER.  This will allow users to
be able to specify which host compiler to use for invoking NVCC with.  By default it will
use the compiler used for host compilation.  This is convenient for when you want to
specify a different compiler than the default compiler.  You end up using the same
compiler for both the NVCC compilation and the host compilation instead of using the
default compiler in the path for NVCC.
Add a return-after-error if an old Qt is found.

No need for an else after a return.
Use CMake platform variables instead of Qt ones.

The Qt ones no longer exist in Qt 5.
Move variable setting down to where it relates to.
Remove an if which is always true.

CMake based CMake build requires version 2.8.2 as of version 2.8.9.
Use add_subdirectory instead of the obsolete subdirs.
Replace two include_directories with a setting.
Compile with both Qt4 and Qt5.
Build with Qt5 if it is found.
Initial version of find module
if: Compare up to 8 components in VERSION tests

Extend the number of components tested by

  if(... VERSION_LESS ...)
  if(... VERSION_EQUAL ...)
  if(... VERSION_GREATER ...)

from 4 to 8.  The latter is a more extreme maximum.
ExternalProject: Generalize URL_MD5 option to URL_HASH

Add support for SHA algorithms.
FindOpenSceneGraph: simplify by using more features of FPHSA
Add SSL_VERIFYPEER and CAINFO file options to ExternalProject_Add.

This commit adds the ability to turn on and off ssl certificate
authority checking.  It also adds the ability to specify a
certificate authority information file.  This can be done
by setting global cmake variables CMAKE_CURLOPT_CAINFO_FILE
and or CMAKE_CURLOPT_SSL_VERIFYPEER in the project calling
ExternalProject_Add, or by passing those options to individual
ExternalProject_Add calls.
VS: Remove duplicated implementations of CreateLocalGenerator()

The IA64 and Win64 versions of the VS8 and VS9 generators
contain the same code for this function as in the base class.
Rename SSL terminology to TLS

TLS has superseded SSL so rename the recently added file(DOWNLOAD) and
ExternalProject options using the newer terminology.  Drop "CURLOPT"
from names because curl is an implementation detail.
file(DOWNLOAD): Make TLS options behave as documented

The logic added in commit e1c89f08 (file(DOWNLOAD): Add options for SSL,
2012-08-21) did not actually provide the documented behavior.  Simplify
the implementation to read the variable values first and then replace
them with the explicit argument values if encountered.  Always set the
curl option CURLOPT_SSL_VERIFYPEER to either on or off explicitly
instead of depending on the curl default behavior.
FindSDL: add SDLMAIN_LIBRARY only once (#13262)
Merge topic 'topics/FindCUDA/Add-CUDA_HOST_COMPILER'

db207e4 FindCUDA: Added CUDA_HOST_COMPILER variable.
Merge topic 'qt5-qtdialog-port'

25a4f56 Build with Qt5 if it is found.
717f31a Compile with both Qt4 and Qt5.
066e858 Replace two include_directories with a setting.
430ba9f Use add_subdirectory instead of the obsolete subdirs.
32a5725 Remove an if which is always true.
0b6625c Move variable setting down to where it relates to.
8ab312b Use CMake platform variables instead of Qt ones.
bd728f6 Add a return-after-error if an old Qt is found.