Was Installing headers in include/KF5, how to?

Aurélien Gâteau agateau at kde.org
Tue Dec 10 11:18:12 UTC 2013


Le mardi 10 décembre 2013 10:09:59 Stephen Kelly a écrit :
> Aurélien Gâteau wrote:
> > Le lundi 9 décembre 2013 21:59:58 Stephen Kelly a écrit :
> >> Aurélien Gâteau wrote:
> >> >  +set(INCLUDE_INSTALL_DIR ${INCLUDE_INSTALL_DIR}/KF5)
> >> 
> >> Don't you instead want to install to ${INCLUDE_INSTALL_DIR}/KF5/$Name ?
> > 
> > Not for all frameworks. For frameworks where all headers are prefixed with
> > 'k', we agreed on installing headers in include/KF5, wheras for framewors
> > without 'k' prefixes, headers should go in include/KF5/$Name
> 
> In that case, the INCLUDES DESTINATION line in ECM should possibly be
> removed, or a 'smart' macro wrapping install(TARGETS) should be added
> instead of the (still overly-generically-named)
> INSTALL_TARGETS_DEFAULT_ARGS.

I just noticed something while looking at KDEInstallDirs.cmake: it defines 
PLUGIN_INSTALL_DIR as ${QT_PLUGIN_INSTALL_DIR}/kf5.

With this in mind, I think we should just apply 
https://git.reviewboard.kde.org/r/114336/
and be done with it.

> >> What does _set_fancy do? Should it be removed? INCLUDE_INSTALL_DIR is set
> >> by _set_fancy in ecm.
> > 
> > I don't really understand the intricacies of cache handling in
> > _set_fancy(), so I don't know. You know CMake better than me, you tell me
> > 
> > :)
> 
> I think it should be removed. It was added a long time ago for Volker, and
> as far as I know, is not needed anymore. Alex doesn't want to remove it.

I am all for less magic, and I trust you to remove it if you say it is not 
needed anymore. However, whether _set_fancy() goes or stays is not going to 
help with getting framework header files installed in the right dir.

Aurélien


More information about the Kde-frameworks-devel mailing list