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