Alexander Neundorf wrote: > On Friday, September 16, 2011 04:56:35 PM Stephen Kelly wrote: >> Alexander Neundorf wrote: >> > On Tuesday, September 13, 2011 08:27:27 PM Stephen Kelly wrote: >> >> Hi, >> >> >> >> FindKDE4Internal has a macro _set_fancy which does some messing about >> >> with the cmake cache and variables one might set (particularly paths). >> >> >> >> * Where does this feature belong? >> > >> > It is very special. >> > For some of the install destinations, it shouldn't be necessary at all. >> > E.g. for the LIB_INSTALL_DIR and for INCLUDE_INSTALL_DIR, these two >> > don't even have to be in the cache, so a simple set should do for them >> > (as discussed in Randa). This has the positive effect that it is much >> > easier to find the include and lib directory from a Config.cmake file. >> > >> > For some, it needs to be in the cache, e.g. the /etc-dir, SYSCONFIG I >> > think. >> > >> > Additionally, it has the additional logic, that if kdelibs has already >> > been >> > installed to the current CMAKE_INSTALL_PREFIX, then it reuses all the >> > install dirs from that kdelibs installation. >> > This was a special request from some of our developers. >> >> Does this mean anything in the context of frameworks? If we consider that > > I think so. > This feature is mostly a convenience thing, but potentially useful for any > project which installs files into more than one directory. > Then this feature makes sure that e.g. all SYSCONFIG files go into the > same install directory, without making it necessary to manually adjust the > SYSCONFIG install dir for each of the installed packages manually to the > same dir.
I don't know what SYSCONFIG is. Maybe it's not an important detail. > And this must be "before" any framework is installed, otherwise it is not > guaranteed that all already installed frameworks have been installed into > the same directories, which is the goal of this feature. > Is it a problem that kdesupport doesn't use set fancy? There's no guarantee that stuff in kdesupport has been installed into the same directories. Is that a problem that will be solved by this feature? You wrote that it's a KDE only feature, but I'm still not sure I understand why. Is KDE alone in wanting to install things to consistent places? >> > Since 2.8.4 or 2.8.5 cmake comes with a GNUInstallDirs.cmake, which >> > defines a set of install locations as cache variables. >> > Maybe we should use that instead ? >> >> I'm not sure. I read the documentation and I can't tell if it would make >> the patch I added to kauth obsolete. Can you review the patch >> (ba1ed1db5ecd97db70eb820233e01498303d7af5) and find out? >> >> I also don't know why kauth uses the macro. When should the macro be >> used? > > Whenever you want that for some install directory the same directory is > used as has been used for kdelibs (in the case that you install into the > same prefix as kdelibs). > E.g. if for kdelibs LIB_INSTALL_DIR has been manually set to lib64, all > other KDE libraries will be installed into lib64. Ok. And in KDE4 times, that's not automatic, so eg, everything in kdesupport had to get a LIB_SUFFIX=64 in order to be correct? I'm also confused because you said in the previous mail that it's not relevant to LIB_INSTALL_DIR. Or did I misunderstand? When you talk about 'setting LIB_INSTALL_DIR manually', you don't mean a cache value or do you mean implicitly changing it by setting LIB_SUFFIX in the cache? >> > For some of the install destinations, it shouldn't be necessary at all. >> > E.g. for the LIB_INSTALL_DIR and for INCLUDE_INSTALL_DIR, > > So, for packagers it is probably not really necessary, since they have to > script it anyway, for everybody else the defaults should do. > When having to set the directories manually to the same values, this will > lead to problems, since people will not always remember. I'd be surprised if people don't already have a script that they use to set the right values. I have a bash function which does `cmake "$srcFolder" - DCMAKE_INSTALL_PREFIX=$KDEDIR -DCMAKE_BUILD_TYPE=debug $@`. I never actually type an install prefix. But maybe I'm missing the point anyway. I haven't fully understood your emails I think. I'd like to work on this though, so if you think there's a way forward to resolve this issue -- GNUInstallDirs.cmake or something else (can we make it generic/non kde specific so that it suits ECM?), let me know and I can do it. Thanks, Steve. _______________________________________________ Kde-buildsystem mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-buildsystem
