changes to how kdepimlibs and kdebase/workspace are installed and found
Brad King
brad.king at kitware.com
Thu Dec 18 15:11:32 CET 2008
Alexander Neundorf wrote:
> On Tuesday 09 December 2008, Brad King wrote:
>> Brad King wrote:
>>> Brad King wrote:
>>>> Perhaps you can avoid this by using PATH_SUFFIXES on the inner
>>>> find_package call in your find-modules:
>>>>
>>>> find_package(KFoo NO_MODULE PATH_SUFFIXES cmake)
>>>>
>>>> Then you can just always install to cmake/kfoo. Once a version of
>>>> CMake supporting this location is required in the future this suffix
>>>> can be removed.
>>> Oops, nevermind. The PATH_SUFFIXES get appended to each generated path,
>>> not to each prefix.
>> I think you'll just have to require 2.6.3 if you want to move the files
>> from kfoo/cmake to cmake/kfoo.
>
> No chance, it's not released yet, and people just complained enough that we
> required 2.6.2, and we are about to freeze:
> http://techbase.kde.org/Schedules/KDE4/4.2_Release_Schedule
Fortunately there is a pretty simple patch to 2.6.2 we can give to
distribution maintainers who want this to work to keep their system's clean.
I've included it below.
-Brad
diff -cp -r cmake-2.6.2-orig/Source/cmFindPackageCommand.cxx cmake-2.6.2/Source/cmFindPackageCommand.cxx
*** cmake-2.6.2-orig/Source/cmFindPackageCommand.cxx 2008-09-24 14:34:35.000000000 -0400
--- cmake-2.6.2/Source/cmFindPackageCommand.cxx 2008-12-18 09:09:25.000000000 -0500
*************** cmFindPackageCommand::cmFindPackageComma
*** 218,223 ****
--- 218,224 ----
"UNIX (U), or Apple (A) conventions.\n"
" <prefix>/ (W)\n"
" <prefix>/(cmake|CMake)/ (W)\n"
+ " <prefix>/(share|lib)/cmake/<name>*/ (U)\n"
" <prefix>/(share|lib)/<name>*/ (U)\n"
" <prefix>/(share|lib)/<name>*/(cmake|CMake)/ (U)\n"
"On systems supporting OS X Frameworks and Application Bundles "
*************** bool cmFindPackageCommand::SearchPrefix(
*** 1710,1715 ****
--- 1711,1730 ----
common.push_back("lib");
common.push_back("share");
+ // PREFIX/(share|lib)/cmake/(Foo|foo|FOO).*/
+ {
+ cmFindPackageFileList lister(this);
+ lister
+ / cmFileListGeneratorFixed(prefix)
+ / cmFileListGeneratorEnumerate(common)
+ / cmFileListGeneratorFixed("cmake")
+ / cmFileListGeneratorProject(this->Names);
+ if(lister.Search())
+ {
+ return true;
+ }
+ }
+
// PREFIX/(share|lib)/(Foo|foo|FOO).*/
{
cmFindPackageFileList lister(this);
More information about the Kde-buildsystem
mailing list