[Digikam-devel] Re: [Kde-imaging] Re: Re: Git migration for 2.0.0 + code components re-structuring...

Michael G. Hansen mike at mghansen.de
Mon Dec 13 21:27:56 GMT 2010


Hi Gert,

On 12/13/2010 05:03 PM, Gert Kello wrote:
>>>> I like this structure and will try to test it later. Maybe we should
>>>> also add a README to the root directory?
>>>
>>> I checked out the new structure and tried to compile it. I first
>>> uninstalled libkmap, libkface and libkdcraw which used to be compiled
>>> separately. Then the build failed:
>>
>> I modified the FindXXX.cmake files to find the local versions, now the
>> build works fine for me. The FindKdcraw.cmake file is a copy of the one
>> from kdelibs, which should be merged back at some point.
>
> I get several CMake warnings like
> -- Configuring done
> CMake Warning at c:/KDE/share/apps/cmake/modules/KDE4Macros.cmake:933
> (add_executable):
>    Cannot generate a safe linker search path for target libkmap_demo because
>    there is a cycle in the constraint graph:
>
>      dir 0 is [C:/KDE/lib]
>        dir 1 must precede it due to link library [libkmap.dll.a]
>      dir 1 is [C:/KdeDevel/GoSC2010/digikam/build/bin]
>        dir 2 must precede it due to link library [libkexiv2.dll.a]
>      dir 2 is [c:/KDE/lib]
>        dir 1 must precede it due to link library [libkmap.dll.a]
>      dir 3 is [C:/kde/lib]
>        dir 1 must precede it due to link library [libkmap.dll.a]
>
>    Some of these libraries may not be found correctly.
> Call Stack (most recent call first):
>    extra/libkmap/demo/CMakeLists.txt:37 (KDE4_ADD_EXECUTABLE)
>
> It seems "funny" that some of those libs are found from c:/KDE/lib,
> they are all built together and installed only later. Aren't they?

I had these problems before fixing the the FindXXX.cmake files when 
libkexiv2 was already installed. Maybe you could update to the latest 
version, where I fixed the FindKexiv2 and FindKipi files. You may want 
to clear the CMakeCache.txt file to make sure all libraries are found 
properly.

> Perhaps it is because the "find*.cmake" do not take account that
> libraries have moved from "libs" subfolder into "extra" one? Patch to
> find "extra" ones also included for some libs. If the way to jadnle
> this is good I can make patch for other libs also.

Thanks for the patch, but I inserted the more general version that I 
made for FindKMap, because it allows the host application to specify a 
local directory, so we don't have to patch all FindXXX files when we 
decide on a new directory structure ;-)

Michael



More information about the Digikam-devel mailing list