library dependency implementation
Alexander Neundorf
neundorf at kde.org
Wed Oct 26 19:23:24 CEST 2005
On Tuesday 25 October 2005 20:39, Ralf Habacker wrote:
...
> > It has the side effect that if you have e.g. the executable
> > "kdevelop" and the library "libkdevelop.so" both will be called simply
> > "kdevelop" on cmake level.
>
> And how does cmake knows in which path the library libkdevelop.so is
> located in a platform independent way ?
Do you mean when building kdevelop or when build something else which should
link to libkdevelop.so ?
In the first case, it "knows" that the kdevelop library (libkdevelop.so) is a
target in the project, and so it knows in which directory it is located (and
that it has to build it before it builds something which wants to link to
it).
In the second case, there has to be e.g. a FindKDevelop.cmake, which has to be
included in the own CMakeLists.txt, and which would search for the kdevelop
libraries in the platform specific directories. FindKDevelop.cmake would then
set something like KDEVELOP_INC_DIR, KDEVELOP_LIB_DIR and KDEVELOP_LIBRARIES
to the appropriate values and you have to to use them like this:
include_directories(${KDEVELOP_INC_DIR})
link_directories(${KDEVELOP_LIB_DIR})
Not 100 % sure at the moment, I would have to check, but I think you can even
skip the link_directories() command and just say
target_link_libraries(my_part_which_uses_kdevelop ${KDEVELOP_LIBRARIES})
Bye
Alex
--
Work: alexander.neundorf at jenoptik.com - http://www.jenoptik-los.de
Home: neundorf at kde.org - http://www.kde.org
alex at neundorf.net - http://www.neundorf.net
More information about the Kde-buildsystem
mailing list