Fwd: Reminder: use KF5::foo instead of ${foo_LIBRARIES} in CMakeLists
Alexander Neundorf
neundorf at kde.org
Thu Sep 26 20:40:24 UTC 2013
On Thursday 26 September 2013, Aurélien Gâteau wrote:
> On Wednesday 25 September 2013 18:08:31 you wrote:
> [snip]
>
> > Do we know why do we need the KF5:: namespacing?
>
> I guess it is to avoid confusion: some frameworks are prefixed with 'k' but
> others are not (frameworkintegration, itemmodels, itemviews, solid, sonnet,
> threadweaver, xmlgui).
>
> It's true we wouldn't have this problem if we were not using namespaces
> though...
The namespacing is there to give the reader a hint that this thing is not
simply the basename of a library, but an (imported) target.
If you would simply use e.g. "solid", if the target has, for whatever reason,
not been imported, cmake would consider it as the basename of a library and
add -lsolid, and it may work or not.
CMake will actually do the same with "KF5::solid", but at least for the reader
it should give a strong hint that this is not the basename of a library.
Alex
More information about the Kde-frameworks-devel
mailing list