I have adjusted my patch now and I think I am approaching a workable solution. The idea of the new patch is to replace KDE4_LIB_DIR with CMAKE_LIBRARY_PATH instead of LIB_INSTALL_DIR. This seems to work although for KDE-Base-Workspace, which I have just compiled and installed, CMAKE_LIBRARY_PATH has to be set explicitly. If CMAKE_LIBRARY_PATH is not set, Compile fails at the cmake configuration stage. Otherwise, my compile of KDE-Base-Workspace went without a hitch!
My gut feeling is that if we set CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH in the cmake recipes' Environment file we would eliminate the need to set this for many cmake recipes. I will try this later after I have tested a few more KDE4 recipes. Frank On 17 Dec 2008, at 12:36, Frank Wilson wrote: > Hmm... using LIB_INSTALL_DIR was a bad idea (for me at least). > Using that variable means the KDE will try and install itself outside > of its own directory (i.e. in /System/Links/Libraries). I should have > guessed, > I suppose! > > I'm unsure what the gobo way is now. I think what we need is to find > another variable to help locate these libraries. Questions I have to > answer are: > > * Have KDE set an appropriate variable for finding libraries that is > different > from the install location? > * Is it better to point each find_library statement to /System/Links/ > Libraries > or should each statement point to the unique path of each library? > I suppose > the latter is closer to the gobo way, but harder to realize. > > Frank > > On 17 Dec 2008, at 12:07, Frank Wilson wrote: > >> Right I am going to just assume that WIN32 stuff was just >> accidentally >> changed with sed and is just a red herring.... >> >> In my new patch I am just substituting KDE4_LIB_DIR for >> LIB_INSTALL_DIR, >> much like the old patch. I am still testing my recipes, but it looks >> like I >> still have to set LIB_INSTALL_DIR in the recipes for the other KDE4 >> modules >> (such as KDE-Base- Workspace). This was not the case in the old kde >> 4.1.3 >> recipes. >> >> Is LIB_INSTALL_DIR being set somewhere else? If so where? >> Can cmake vars be set by shell variables set elsewhere on the system? >> >> Thanks, >> >> Frank >> >> >> <01-FindKdepimLibs.patch> >> >> On 17 Dec 2008, at 10:51, Frank Wilson wrote: >> >>> By the way I should have made it clear that the patch applies to >>> KDE- >>> Libs 4.1.3. >>> >>> Frank >>> >>> On 17 Dec 2008, at 10:31, Frank Wilson wrote: >>> >>>> I am working on recipes for KDE 4.1.80 (the KDE 4.2 beta 1 release >>>> [1]). >>>> For some reason I found that I could not apply the patch [2] for >>>> 4.1.3 >>>> to the new release. However I still think the new release needs to >>>> be patched in a similar way. I would like to have a better >>>> understanding >>>> of the current patch so i can re-implement it. >>>> >>>> The KDE build system assumes that KDE-Libs and KDE-PIM-Libs >>>> will be installed under the same hierarchy. This is probably the >>>> case >>>> under debian >>>> but not on a gobolinux system. >>>> >>>> I believe this is what the following part of the patch (along with >>>> similar parts) addresses: >>>> >>>> - find_library(KDE4_SYNDICATION_LIBRARY NAMES syndication PATHS $ >>>> {KDE4_LIB_DIR} \ >>>> NO_DEFAULT_PATH ) >>>> + find_library(KDE4_SYNDICATION_LIBRARY NAMES syndication PATHS $ >>>> {LIB_INSTALL_DIR} \ >>>> >>>> However, I don't understand why the following has been changed: >>>> >>>> if (WIN32) >>>> - if (KDEPIMLIBS_DIR) >>>> - set (KDE4_INCLUDE_DIR ${KDE4_INCLUDE_DIR} ${KDEPIMLIBS_DIR}/ >>>> include) >>>> - set (KDE4_LIB_DIR ${KDE4_LIB_DIR} ${KDEPIMLIBS_DIR}/lib) >>>> - else (KDEPIMLIBS_DIR) >>>> + if (LIB_INSTALL_DIR) >>>> + set (KDE4_INCLUDE_DIR ${KDE4_INCLUDE_DIR} $ >>>> {LIB_INSTALL_DIR}/ >>>> include) >>>> + set (LIB_INSTALL_DIR ${KDE4_LIB_DIR} ${KDEPIMLIBS_DIR}/lib) >>>> + else (LIB_INSTALL_DIR) >>>> file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _progFiles) >>>> set (KDE4_INCLUDE_DIR ${KDE4_INCLUDE_DIR} ${_progFiles}/ >>>> kdepimlibs/include) >>>> - set (KDE4_LIB_DIR ${KDE4_LIB_DIR} ${_progFiles}/kdepimlibs/ >>>> lib) >>>> - endif (KDEPIMLIBS_DIR) >>>> + set (LIB_INSTALL_DIR ${KDE4_LIB_DIR} ${_progFiles}/ >>>> kdepimlibs/ >>>> lib) >>>> + endif (LIB_INSTALL_DIR) >>>> endif (WIN32) >>>> >>>> Shouldn't the body of this if statement [ if (WIN32) ] be ignored >>>> on >>>> gobolinux (or any variant of linux >>>> for that matter)? Or am I missing something? >>>> >>>> Thanks, >>>> >>>> Frank >>>> >>>> [1] http://kde.org/info/4.1.80.php >>>> [2] >>>> http://recipes.gobolinux.org/r/?list=KDE-Libs&ver=4.1.3-r1&file=01-FindKdepimLibs.patch >>>> _______________________________________________ >>>> gobolinux-devel mailing list >>>> gobolinux-devel@lists.gobolinux.org >>>> http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel >>> >>> _______________________________________________ >>> gobolinux-devel mailing list >>> gobolinux-devel@lists.gobolinux.org >>> http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel >> >> _______________________________________________ >> gobolinux-devel mailing list >> gobolinux-devel@lists.gobolinux.org >> http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel > > _______________________________________________ > gobolinux-devel mailing list > gobolinux-devel@lists.gobolinux.org > http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel _______________________________________________ gobolinux-devel mailing list gobolinux-devel@lists.gobolinux.org http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel