[EMAIL PROTECTED] wrote:
It is shared library. A simple example of CMakeLists.txt is attached to
this mail. If you create a simple Makefile, you'll see the chaining of
all the libraries despite 'example' target should be dependent only on
'mylib'.
[snip]
ADD_LIBRARY(${MYLIBNAME} ${SOURCES})
TARGET_LINK_LIBRARIES(${MYLIBNAME} ${TIFF} ${JPEG})
ADD_EXECUTABLE(example example.cc)
TARGET_LINK_LIBRARIES(example ${MYLIBNAME})
I do not see how these extra dependencies break anything. Either way
when you run
ldd example
you will see mylib, tiff, and jpeg as dependencies. If you are building
static libraries the chaining is needed. It is needed for shared
libraries on some UNIX systems too, though not Linux.
What you want is a feature which separates the *implementation* linking
requirements from the *interface* linking requirements. In the case of
static libraries there is no difference, but in the case of shared
libraries there is sometimes a difference. We do have future plans to
setup something like this, but may not get to it for a while. You can
submit a feature request here:
http://www.cmake.org/Bug
-Brad
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake