Problems with ECM / FindKDE4Internal and plasma-framework

Ben Cooksley bcooksley at kde.org
Thu Feb 7 21:04:05 UTC 2013


On Fri, Feb 8, 2013 at 6:38 AM, Alexander Neundorf <neundorf at kde.org> wrote:
> On Thursday 07 February 2013, Ben Cooksley wrote:
>> On Thu, Feb 7, 2013 at 7:34 AM, Alexander Neundorf <neundorf at kde.org> wrote:
>> > On Tuesday 05 February 2013, Alexander Neundorf wrote:
>> >> On Monday 04 February 2013, Ben Cooksley wrote:
>> >> > Hi all,
>> >> >
>> >> > Currently the KDE CI system is unable to build the newly created
>> >> > 'plasma-framework' repository. Through some debugging I have
>> >> > determined that although all appropriate environment variables are set
>> >> > correctly (to the best of my knowledge) it seems that CMake is simply
>> >> > blind, or something (likely in ECM) is making it blind.
>>
>> Hi Alex,
>>
>> > how is plasma-framework trying to find the installed kdelibs from the
>> > frameworks branch ?
>> > AFAIK this is not possible.
>> > If it does
>> > find_package(KDE4)
>> > this does not work.
>> > FindKDE4.cmake coming with cmake searches for kde4-config, but the
>> > frameworks branch installs kde5-config, so no chance of being found.
>> > Are they doing something else ?
>>
>> Please see
>> https://projects.kde.org/projects/playground/libs/plasma-framework/reposit
>> ory/revisions/master/entry/CMakeLists.txt
>>
>> It appears they are running
>>    find_package(KDE4Internal REQUIRED)
>>
>> From all indications, this should work, as kdelibs frameworks is
>> installing a FindKDE4Internal.cmake file.
>
> Wow, what a mess ;-)
> Don't know where to start.
>
> FindKDE4Internal.cmake is a find-module, and cmake does not "search" those, it
> expects them to be either in its own share/cmake/Modules/ directory or in
> CMAKE_MODULE_PATH.
> So it can't be found.
> Probably you can run cmake -
> DCMAKE_MODULE_PATH=/where/kf5/is/share/cmake/modules and it seems to work
> when.

I see. From my testing, it also seems that CMake does seem to care if
a environment variable CMAKE_MODULE_PATH is set.
Is this correct?

If so, I wonder why it works for everything else but Frameworks stuff.
If Extra-CMake-Modules is blocking an environment variable from
working i'd appreciate it if it didn't, because environment variables
are *far* more convenient for build.kde.org compared to CMake
arguments.

>
> Additionally, they search for find_path(KDE_MODULES_DIR NAMES KDE4Macros.cmake
> ...)
> which is included later on by FindKDE4Internal.cmake anyway.
>
>
> Do they really need Win CE support ?
>
> Then all the options are set manually...
>
> OTOH, AFAIK currently at least I am not aware of what the official way of
> using the frameworks branch of kdelibs is.
>
> Do we have an official way ?
>
> Alex

Regards,
Ben


More information about the Kde-buildsystem mailing list