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

Aleix Pol aleixpol at kde.org
Wed Sep 25 10:32:39 UTC 2013


On Wed, Sep 25, 2013 at 11:22 AM, Sebastian Kügler <sebas at kde.org> 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.)
>
> Thanks,
>
> -- sebas
>
>
> ----------  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
> -----------------------------------------
> --
> sebas
>
> http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9
> _______________________________________________
> Plasma-devel mailing list
> Plasma-devel at kde.org
> https://mail.kde.org/mailman/listinfo/plasma-devel
>

The *Config.cmake files should be defining both, if that's not the case
maybe we should be looking deeper at this issue.

Either way, what the definition is, it's (for example):
set(KCompletion_LIBRARIES KF5::KCompletion)

Personally, I prefer not using the variables, because a typo will make it
to run flawlessly but then not working without a warning (because a
nonexisting variable resolves to "").
Aleix
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20130925/14117e81/attachment.html>


More information about the Plasma-devel mailing list