add_library NO_PREFIX

David Faure faure at kde.org
Thu Nov 29 09:52:47 UTC 2012


On Thursday 29 November 2012 09:36:33 Alexander Neundorf wrote:
> On Thursday 29 November 2012, David Faure wrote:
> > On Thursday 29 November 2012 09:08:05 Alexander Neundorf wrote:
> > > In KDE4 we do it this way because we did it this way in KDE3. ;-)
> > > Personally I don't care much whether plugins have a "lib" prefix or not.
> > > Not having the "lib" prefix can be interpreted as a hint that this file
> > > is not a normal shared library.
> > > Technically it shouldn't matter I think.
> > 
> > It's more than a hint, it's a strong guarantee, that nobody will ever
> > succeed in linking to a plugin as if it was a shared lib.
> 
> At least it is possible:
> ~/src/test/$ g++  main.cpp  /usr/lib/audacious/Output/filewriter.so -o test
> ~/src/test/$ ldd test
>         linux-gate.so.1 =>  (0xffffe000)
>         /usr/lib/audacious/Output/filewriter.so (0xb76eb000)

Sure. But at least the -lfilewriter syntax will break :-)
(Yes, this is about non-cmake users, i.e. people who didn't see the light yet)

> Simply changing the default in cmake is probably not possible, since this
> would break projects which expect to have the "lib" prefix in their plguins.
> 
> But e.g. by introducing a new cmake policy (e.g. CMP0020: do not set a
> prefix for MODULE libraries) this should be possible.
> So whoever says
> cmake_minimum_required(VERSION 2.8.11)
> would automatically get this policy activated, and the modules wouldn't have
> the prefix anymore. This is usually acceptable behaviour for cmake since
> stating "I need cmake 2.8.11" is interpreted to imply that this users knows
> what he is doing and that he explicitely asked for the behaviour as it is
> in 2.8.11.

I would like that very much.

-- 
David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE, in particular KDE Frameworks 5



More information about the Kde-buildsystem mailing list