(→Changes in the buildsystem from KDE 4.3 to KDE 4.4) |
(→Major FindQt4.cmake improvements) |
||
| Line 37: | Line 37: | ||
* FindQt4.cmake has been split into FindQt4.cmake, Qt4Macros.cmake and Qt4ConfigDependentSettings.cmake. | * FindQt4.cmake has been split into FindQt4.cmake, Qt4Macros.cmake and Qt4ConfigDependentSettings.cmake. | ||
* Improved support for flexible Qt install locations under Windows (see "Imported targets") | * Improved support for flexible Qt install locations under Windows (see "Imported targets") | ||
| + | |||
| + | ====Imported Targets==== | ||
===New libraries: knewstuff3, kunitconversion and kdewebkit=== | ===New libraries: knewstuff3, kunitconversion and kdewebkit=== | ||
Contents |
As with KDE 4.2 and 4.3, also for KDE 4.4 still CMake >= 2.6.2 is required, so no changes in this regard.
This change is under certain circumstances not source compatible. For each of the Qt libraries now an imported library target is created, e.g. for the QtCore library an imported target named "Qt4::QtCore" is created, and similar for the other libraries. If the variable QT_USE_IMPORTED_TARGETS is set to TRUE before searching for Qt4, then the Qt library variables like QT_QTCORE_LIBRARY are set to point at these imported targets. When doing a FIND_PACKAGE(KDE4), this variable is set automatically to TRUE. This change is source incompatible in the following circumstances:
In all other uses there should be no incompatibilities. E.g. usage in TARGET_LINK_LIBRARIES() works the same, and you can also test the variables for validity: if (QT_QTCORE_LIBRARY) ...
The commit policy introduced during the 4.3 development cycle has been kept and we try to follow it.
A lot of work went into FindQt4.cmake. This includes:
With KDE 4.4 3 new libraries were added to kdelibs: the knewstuff3 library, the kunitconversion library and the kdewebkit library. These libraries come with their associated variables. So if you want to link against these libraries, use ${KDE4_KNEWSTUFF3_LIBS}, ${KDE4_KUNITCONVERSION_LIBS} and ${KDE4_KDEWEBKIT_LIBS} respectively. They don't require an additional include directory.
With KDE 4.4 the kdecore library now contains a new authorization component, called KAuth, which support PolicyKit. Along with it come two new macros, KDE4_INSTALL_AUTH_ACTIONS() and KDE4_INSTALL_AUTH_HELPER_FILES(). These macros help with generating and installing the policy action files.
Some completely new installed modules have been added during this cycle:
Also added were FindPolkitQt-1.cmake and FindPolkitQt.cmake, but both are used only internally inside kdelibs and both are not installed.