/** \page phonon4qt5 Phonon4Qt5

\ref index "Overview" | Phonon4Qt5

Phonon4Qt5, as the name suggests, is a version of the Phonon 4 library built against Qt5 rather than Qt4. It has the same API as a Phonon built against Qt4, but differs in ABI and file names. This allows development and/or delpoyment of your application to happen against either version of Qt. \section phonon4qt5_building Building If you are building against a qt-project provided binary build of Qt5 you may have to define the CMAKE_PREFIX_PATH to make CMake find Qt5. If you are using QMake for your application you will additionally have to instruct cmake to install Qt extensions into the actual Qt directory using KDE_INSTALL_USE_QT_SYS_PATHS. For example: \verbatim mkdir build5 cd build5 cmake .. -DPHONON_BUILD_PHONON4QT5=ON -DCMAKE_PREFIX_PATH=/opt/Qt5.0.0/5.0.0/gcc_64 -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \endverbatim Phonon4Qt5 installation does not conflict with regular Phonon installations in any way; It uses different file and folder names for everything installed. \section phonon4qt5_using Usage Except for a couple of lines in CMake, using Phonon4Qt5 is identical to using the (old) Qt4 Phonon. \subsection phonon4qt5_using_cmake CMake To check for Phonon4Qt5 in your CMake project simply use find_package. Variables other than *_FOUND variable will have a generic PHONON prefix making it easier to support both versions without excessive if/else blocks. \code{.cmake} if(BUILDING_AGAINST_QT5) find_package(Phonon4Qt5 REQUIRED) else() find_package(Phonon REQUIRED) endif() # These are present regardless of which path was chosen message("${PHONON_LIBRARY} contains the path to libphonon4qt5 or libphonon") message("${PHONON_INCLUDE_DIR} contains the phonon4qt5 or phonon include directory") \endcode \note While you were able to get away with not adding PHONON_INCLUDE_DIR to CMake's include_directories on various Unix systems, this will not work with Phonon4Qt5; It is using nested directories to achieve 100 % source compatibility with Phonon, so your compiler will not be able to find phonon/* includes by simply looking in standard paths. \subsection phonon4qt5_using_qmake QMake To use Phonon4Qt5 in your QMake project you can simply use: \code{.pro} QT += phonon4qt5 \endcode QMake will take care of everything else. Except in certain situations QMake will not be able to find the files necessary to enable a phonon4qt5 build, building phono4qt5 with KDE_INSTALL_USE_QT_SYS_PATHS, as explained above, should prevent this from happening. \subsection phonon4qt5_using_cpp C++ For the actual code there is absolutely no difference between Phonon and Phonon4Qt5. Consequently the following code example will work with either version: \code{.cpp} #include #include int main() { QUrl url("file:///home/user/firefly.webm"); Phonon::MediaSource source(url); if (!source.isValid()) return 1; return 0; } \endcode */