Config files for frameworks (Was: KArchive for Qt4)

Stephen Kelly steveire at gmail.com
Tue Dec 18 16:33:27 UTC 2012


Alexander Neundorf wrote:

> On Tuesday 18 December 2012, Stephen Kelly wrote:
>> Alexander Neundorf wrote:
>> > Please have a look at the current solidConfig.cmake.in.
>> > This is mostly as I think it should be (the include-guard is still
>> > missing).
>> > 
>> > 
>> > solidConfig.cmake
>> > 
>> >   # solidConfig.cmake provides information about the installed solid
>> >   # library.
>> >  
>> >  #is supported solid_HAVE_UDev         - TRUE if device discovery via
>> >  udev #is supported solid_USE_UDisk2        - TRUE is udisk2 is used
>> >  instead of #udisk on UNIX systems
>> 
>> Why HAVE vs USE? It looks like USE_SYSTEM_UDisks2 would be appropriate?

Did you notice this?

>> 
>> Do any of these 'feature variables' affect the headers of solid? For
>> example with #defines?
> 
> 
> Some of these informations are stored also in config-solid.h (those which
> are needed for building I guess). The information whether udisk or udisk2
> is used is not stored in config-solid.h.
> 
> 
> If I was a developer using the installed solid library, at least in the
> case that something doesn't work as it should, I would be very interested
> in knowing which backends the installed version of solid is using.
> 
> I could use ldd to see what libraries it links against. But this may not
> work if it is dbus-based. I may start to search in the headers. Or we may
> record this information in the Config.cmake file

Yes, it probably makes sense currently.

>> 
>> >  set(solid_INSTALL_PREFIX "${PACKAGE_PREFIX_DIR}")
>> 
>> I still don't consider this useful in general.
>> 
>> >  set(solid_LIBRARY KF5::solid)  # is this one needed ?
>> 
>> No, I don't see why it would be.
> 
> The reason I put it there initially was for completeness, to have both the
> single libraries as well as the potentially multiple needed libraries for
> using. 

Then let's define completeness as not including *_LIBRARY variables (See 
also my points elsewhere about minimalism and maintenance).

> With imported targets, they should be the same.

We already know that we will create IMPORTED targets, so the *_LIBRARY 
variables are not-useful, not-needed and redundant, especially as the 
imported target itself is documented.

Thanks,

Steve.




More information about the Kde-frameworks-devel mailing list