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