Regarding building QML modules

Aleix Pol aleixpol at kde.org
Wed Feb 4 11:49:13 UTC 2015


On Wed, Feb 4, 2015 at 9:42 AM, Andreas Pakulat <apaku at gmx.de> wrote:
> Hi Aleix,
>
> On Wed, Feb 4, 2015 at 1:27 AM, Aleix Pol <aleixpol at kde.org> wrote:
>>
>> Hi,
>> I received this bug report [1], I guess this should be figured out. It
>> suggests using add_library(MODULE) instead of add_library(SHARED) for
>> QML modules, as they are not meant to be linked to.
>>
>> I think it makes sense, I would have done it like that since the
>> beginning if it wasn't because Qt requires a lib* prefix to the QML
>> plugins (only on linux?).
>
>
> The missing lib prefix for MODULE targets is something that kde's cmake
> stuff has enforced. Stock CMake projects using MODULE targets end up with
> libfoo.so. The only difference between MODULE and SHARED is that MODULE
> targets get no SONAME and hence no libfoo.so.x.y.z symlinks.
>
> I believe there's no particular reason (but can't recall 100% from the KDE4
> porting times) why the lib prefix is dropped for kde plugins, except that
> the existing plugin-loading-code in kdelibs back then required foo.so for
> plugins.

Well, I can see how it can be good not to have the lib prefix if it's
a plugin (i.e. a linkable library).

FWIW, I tried it and naming the plugin libtargetname also works.

Aleix


More information about the Kde-buildsystem mailing list