On Wed, Sep 25, 2013 at 11:22 AM, Sebastian Kügler <sebas@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@kde.org>
To: plasma-devel@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@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