Introduce target property <LANG>_VISIBILITY_PRESET

This is initialized by CMAKE_<LANG>_VISIBILITY_PRESET. The target
property is used as the operand to the -fvisibility= compile option
with GNU compilers and clang.
Add a COMPILE_OPTION for a VISIBILITY_INLINES_HIDDEN target property.

This corresponds to the g++ and clang++
option -fvisibility-inlines-hidden on linux. On Windows with MinGW,
this corresponds to -fno-keep-inline-dllexport. That option is
not supported by clang currently.
CMake Nightly Date Stamp
CMake Nightly Date Stamp
CMake Nightly Date Stamp
Use the qt5::moc imported target instead of a variable.

The variable is provided in the Qt5 config files only for compatibility
with this automoc feature, so use the more-future-proof method instead.
QtAutomoc: Get the Qt version through the target link interface

In Qt 5.1, Qt5::Core has a INTERFACE_QT_MAJOR_VERSION property
of '5', and since CMake 2.8.11, Qt4::QtCore has an
INTERFACE_QT_MAJOR_VERSION of '4'. This was introduced in
commit 4aa10cd6 (FindQt4: Set the INTERFACE_QT_MAJOR_VERSION for
Qt4::QtCore, 2013-03-16), to produce an error if Qt 4 and Qt 5
are erroneously used by the same target. This can also be used
however to determine the Qt major version, and therefore the
particular moc executable to use during automoc steps. This means
that targets in a single buildsystem can use a selection of Qt 4
and Qt 5, and still take advantage of the CMAKE_AUTOMOC feature
without conflicting.
Merge topic 'qt4-qt5-CMAKE_AUTOMOC' into next

fa55751 QtAutomoc: Get the Qt version through the target link interface
f776316 Use the qt5::moc imported target instead of a variable.
ab7cd03 CMake Nightly Date Stamp
fe1584f CMake Nightly Date Stamp
a3a82b5 CMake Nightly Date Stamp
Merge topic 'VISIBILITY_PREFIX-property' into next

546e316 Add a COMPILE_OPTION for a VISIBILITY_INLINES_HIDDEN target property.
d180a0e Introduce target property <LANG>_VISIBILITY_PRESET