pkgconfig under Windows ? Was: review FindBlueZ.cmake

Pedro Lopez-Cabanillas pedro.lopez.cabanillas at gmail.com
Sun Oct 2 18:16:46 UTC 2011


On Sunday 02 October 2011, Patrick Spendrin wrote:
> Am 02.10.2011 00:12, schrieb Pedro Lopez-Cabanillas:
> > On Saturday 01 October 2011, Alexander Neundorf wrote:
> >> On Wednesday 21 September 2011, Raphael Kubo da Costa wrote:
> >>> Michael Jansen <kde at michael-jansen.biz> writes:
> >>>> Not sure here. After a (short) talk to some kde windows guys i remember
> >>>> he said there is pkgconfig for windows but it is considered completly
> >>>> broken. I think thats why most modules do that magic. Do ignore it on
> >>>> windows even if there.
> >>>
> >>> I've often times heard non-KDE people say pkgconfig used to be broken
> >>> but should work fine nowadays, so I'm a bit confused here. It'd be nice
> >>> if the kde-windows guys could provide more details on what's the current
> >>> state of pkgconfig for them.
> >>
> >> Yes.
> >> Also, whenever I said somewhere that our cmake files must be able to find 
> >> stuff also without pkgconfig, people replied that nowadays it works just 
> > fine 
> >> under Windows.
> >>
> >> So, Windows developers: what's the current state of pkg-config under 
Windows 
> > ?
> >> Does it work ?
> > 
> > Yes
> > 
> >> Do you use it ?
> > 
> > Yes. For Qt, KDE and other project types as well.
> 
> It doesn't work for Qt, 

Do you know that qmake has an option "CONFIG += link_pkgconfig" for project 
files (.pro) that enables this: "PKGCONFIG += alsa". 

http://doc.qt.nokia.com/latest/qmake-project-files.html#configuration-features

> it doesn't work for KDE and most of the other
> 3rdparty libraries we have also do not use it - also see the mail by Ralf.

See also my answers to Ralf's questions.
 
> > 
> >> Does it work with mingw ?
> >> Does it work with MSVC ?
> > 
> > Yes, yes. An example of a CMake build system using extensively pkg-config 
in 
> > both Windows (MinGW and MSVC) and Linux is FluidSynth:
> > http://sourceforge.net/apps/trac/fluidsynth/wiki/BuildingWithCMake
> 
> Finding glib & gthread is not extensively and could work directly from
> cmake. There are FindG*.cmake scripts available in several locations in
> KDE which don't rely on pkg-config at all.

FluidSynth is not Qt nor KDE. It is not even C++, but has a CMake buildsystem.

glib and gthread are the only mandatory libraries required by FluidSynth, but 
we also use pkg-config to check for optional ones: libsndfile, pulseaudio, 
alsa, portaudio, jack, lash, ladcca, and dbus. I would say an extensive usage.

http://fluidsynth.svn.sourceforge.net/viewvc/fluidsynth/trunk/fluidsynth/CMakeLists.txt

> > An argument to support using pkg-config for projects that already provide 
a 
> > .pc file can be the recent problems with PulseAudio 1.0 and the broken  
> > findpulseaudio.cmake
> 
> We don't use pulseaudio at all.

"We" do:

http://mail.kde.org/pipermail/kde-buildsystem/2011-September/008162.html

> > Another argument is that looks like KDE would be playing some sort of 
boycott 
> > against a freedesktop.org standard.
> 
> Could you point us to the point where this is written down as a
> standard? pkg-config is hosted by freedesktop.org, but that doesn't mean
> it is a standard I would say.

No, it is not really a standard, because "freedesktop.org is not a standards 
body" (http://www.freedesktop.org/wiki/Specifications)
 
So, you confirm the boycott, then:

> I currently don't see any advantage of pkg-config, only disadvantages,
> so there is no way to use that here.
> 
> > 
> > Regards,
> > Pedro
> 
> regards,
> Patrick
> 
> 



More information about the Kde-buildsystem mailing list