phonon4qt5

David Faure faure+bluesystems at kde.org
Sun Jan 27 22:03:36 GMT 2013


On Sunday 27 January 2013 03:10:04 Harald Sitter wrote:
> as discussed previously there is now a transitional library for qt5 called
> phonon4qt5 and lives in a branch of the regular phonon git repos (pending
> release).
> 
> phonon4qt5 is a 100% source compatible version of phonon4 that builds
> against qt5. it is directly derived from master and as such should be kept
> in sync whenever a change applies to both.
> 
> phonon4qt5 is meant to be as unintrusive as possible. in particular it has
> a different soname (phonon4qt5) and include paths (prefix/phonon4qt5/) and
> can be installed along side regular libphonon.
> 
> the cmake magic still talks about phonon, so you still
> use phonon_INCLUDE_DIR and the likes to keep transitional changes to a
> minimum. to that extent all that should be necessary for an application to
> transit from libphonon to libphonon4qt5 is changing find_package from
> phonon to phonon4qt5 (please note however that you must add the include_dir
> to your includes as otherwise the headers may not be found - previously
> with phonon often residing in /usr/include this would have worked even when
> not explicitly adding it).

share/phonon4qt5/buildsystem/FindPhononInternal.cmake is included by 
Phonon4Qt5Config.cmake, and pollutes the application doing find_package quite a 
lot.
It sets all sorts of install dirs, it (re)defines the "uninstall" target, and 
so on. All of this should be internal to phonon, not exposed to apps that use 
phonon.

This leads to this problem in kdelibs-frameworks:
When I apply this http://www.davidfaure.fr/2013/use_phonon4qt5.diff
I get this:

-- Using CMake automoc builtin
CMake Error at 
/d/kde/inst/kde_frameworks/share/phonon4qt5/buildsystem/FindPhononInternal.cmake:167 
(add_custom_target):
  add_custom_target cannot create target "uninstall" because another target
  with the same name already exists.  The existing target is a custom target
  created in source directory "/d/kde/src/5/kdelibs-frameworks".  See
  documentation for policy CMP0002 for more details.
Call Stack (most recent call first):
  /d/kde/inst/kde_frameworks/lib64/cmake/phonon4qt5/Phonon4Qt5Config.cmake:30 
(include)
  CMakeLists.txt:416 (find_package)

But the uninstall target isn't the only issue, all of FindPhononInternal.cmake 
is unwanted in apps. Why is it installed at all? For the phonon backends?
In that case the backends should include it explicitely, rather than 
Phonon4Qt5Config.cmake loading it.

-- 
David Faure, faure at kde.org, http://www.davidfaure.fr
Sponsored by BlueSystems and KDAB to work on KDE Frameworks



More information about the kde-multimedia mailing list