Howto fix KDE4 Buildsystem with CMake CVS

Alexander Neundorf neundorf at kde.org
Wed Feb 20 01:19:31 CET 2008


On Sunday 17 February 2008, Brad King wrote:
> Alexander Neundorf wrote:
> > There is still the problem with OUTPUT_NAME which is a real bug.
>
> We can fix that in 2.6, but without another patch release to 2.4 that
> gets put in all the major distros you won't be able to depend on the fix
> anyway.  You should probably use OUTPUT_NAME only on an executable
> target to give it the same name as a library.  Then the library can
> export with the correct name.
>
> >> How was this all working with 2.4?  Do the effects of
> >> CMAKE_LINK_OLD_PATHS completely solve the problem with 2.6?  If so, that
> >
> > Actually I'd like to use the new style, since this will avoid the
> > problems it is supposed to avoid :-)
>
> Whether CMAKE_LINK_OLD_PATHS is defined or not the full paths to known
> libraries are still given to the linker.  The option only enables
> passing of their locations in -L paths for no reason but compatibility
> with projects that don't call LINK_DIRECTORIES properly. 

I just tried that and still got:

Linking C executable hello
/opt/cmake-HEAD/bin/cmake -E cmake_link_script 
CMakeFiles/hello.dir/link.txt --verbose=1
/usr/bin/gcc    -fPIC "CMakeFiles/hello.dir/main.o"  -o hello -rdynamic 
libfoo.so /opt/test2/lib/libkdefx.so -Wl,-rpath,/home/alex/src/tests/rpathtest/b2:/opt/test2/lib

Shouldn't there be -L/opt/test2/lib/ included ?

I have set both variables:
set(CMAKE_LINK_OLD_PATHS TRUE)
set(CMAKE_BACKWARDS_COMPATIBILITY 2.4)

Am I missing something ?

Alex


More information about the Kde-buildsystem mailing list