Fwd: Reminder: use KF5::foo instead of ${foo_LIBRARIES} in CMakeLists

Aurélien Gâteau agateau at kde.org
Wed Sep 25 10:04:11 UTC 2013


On Wednesday 25 September 2013 11:22:57 Sebastian Kügler wrote:
> CMake-gods, can you confirm the below? (It's inconsistent with my
> understanding, and how we've done it in the past months, I'd like to have a
> specialist opinion before going around and changing every single
> CMakeLists.txt in Plasma.)

My cmake-fu is far from god-level, but my experience is that for frameworks to 
build standalone, they must link to other frameworks using ${foo_LIBRARIES} 
rather than KF5::Foo.

I take it this is the reason kdelibs/CMakeLists.txt defines many 
${foo_LIBRARIES} variables.

Aurélien

> ----------  Forwarded Message  ----------
> 
> Subject: Reminder: use KF5::foo instead of ${foo_LIBRARIES} in CMakeLists
> Date: Wednesday, September 25, 2013, 10:36:46
> From: Martin Gräßlin <mgraesslin at kde.org>
> To: plasma-devel at kde.org
> 
> Hi all,
> 
> just a short reminder. When adjusting a CMakeLists.txt to Qt5 to enable e.g.
> a dataengine please use the new namespace syntax in target_link_libraries.
> E.g:
> 
>  target_link_libraries(plasma_engine_notifications
>      Qt5::DBus
>     KF5::KI18n
>     KF5::KIconThemes
>     KF5::KIOCore
>     KF5::KNotifications
>     KF5::plasma
>     KF5::KService
>      ${KDE4_KNOTIFYCONFIG_LIBRARY}
>  )
> 
> and not
> 
>  target_link_libraries(plasma_engine_notifications
>      Qt5::DBus
>     ${Plasma_LIBRARIES}
>     ${KI18n_LIBRARIES}
>     ${KIconThemes_LIBRARIES}
>     ${KNotifications_LIBRARIES}
>     ${KService_LIBRARIES}
>     ${KDE4_KIO_LIBS}
>      ${KDE4_KNOTIFYCONFIG_LIBRARY}
>  )
> 
> I just spent the last half our fixing linker errors as  ${KI18n_LIBRARIES}
> didn't exist any more.
> 
> Thanks,
> Martin
> -----------------------------------------



More information about the Plasma-devel mailing list