[Interest] QMake variable TARGET_EXT ignored on unix platforms

Bo Thorsen bo at vikingsoft.eu
Wed Jun 18 15:29:23 CEST 2014


Den 18-06-2014 13:23, Roland Winklmeier skrev:
> Hey there,
>
> I have a project which builds a plugin for a cross platform application.
> This application expects its plugins to have the extension *.xpl. After
> reading the docs and setting the qmake variables to
>
> TARGET = plugin
> TARGET_EXT=xpl
>
> I expected to get a shared library called "plugin.xpl". On Windows this
> is the case, but Linux ignores it and creates a shared library with
> version information plus symbol links:
>
> libplugin.so.0.5.0
> libplugin.so.0
> libplugin.so
>
> I presume on OSX it will be similar to Linux.
>
> Is there a way to get the same behavior on Unix or is this not supported
> at all? The doc does not say anything about platform limitations
> (http://qt-project.org/doc/qt-5/qmake-variable-reference.html#target-ext).
> I've used Qt 5.3.0 libraries.

When it comes to qmake it's important to accept that sometimes things 
just doesn't make sense and do something that fixes the problem instead 
of insisting on doing it the right way. I agree that you shouldn't need 
to do this.

unix:QMAKE_POST_LINK += cp $$DESTDIR/$$TARGET.so $$DESTDIR/$$TARGET.xpl

Written from memory, you probably need to fix it a bit.

I hope this helps,

Bo.

-- 
Viking Software
Qt and C++ developers for hire
http://www.vikingsoft.eu



More information about the Interest mailing list