The CMake situation in frameworks

Stephen Kelly steveire at gmail.com
Sat Nov 26 16:07:47 UTC 2011


Christophe Giboudeaux wrote:

> Hi,
> 
> On Friday 25 November 2011 02:24:55 Stephen Kelly wrote:
>> == Communicating build parameters between modules ==
>> 
>> Some people don't want to set custom parameters for certain install
>> directories and have those locations picked up by other depending
>> modules. Eg, if a custom value is set for LIB_INSTALL_DIR in kdelibs and
>> KDEPIM is built against that version of kdelibs, KDEPIM should use the
>> same value for LIB_INSTALL_DIR. This is provided by the _set_fancy macro
>> currently. There may be better ways to do this, such as specifying the
>> values in the config files for frameworks, or installing a
>> CMakeCache.txt. Needs more investigation.
> 
> I would object if that removes the ability to install a given module in a
> different prefix than kdelibs (and have the other paths not being set
> accordingly, installing files out of the install prefix should be clearly
> forbidden to avoid the kauth nightmare).
> 
> As long as building the module Foo using a distro kdelibs remains
> possible, no objection.
> However, I think the variables names for kdelibs must be different than
> the ones in the modules depending on it. We have a few cases where we need
> something specific from kdelibs:
> 
> in kdepim/akregator/src/CMakeLists.txt:
> qt4_add_dbus_interfaces(akregatorpart_PART_SRCS
> ${KDE4_DBUS_INTERFACES_DIR}/org.kde.KSpeech.xml)
> 
> Following your idea, we would then have:
> qt4_add_dbus_interfaces(akregatorpart_PART_SRCS
> ${DBUS_INTERFACES_DIR}/org.kde.KSpeech.xml)
> 
> which would fail if the CMAKE_INSTALL_PREFIX is different for kdelibs and
> kdepim
> 
> Christophe

Yes. This would require a full understanding of the _set_fancy feature and 
reasons why it exists, which I don't have, so obviously I am not much use.

We still have to figure out what to do about _set_fancy though and figure 
out where it should live.



More information about the Kde-buildsystem mailing list