[CMake] How to specify that a target link library is shared ?
Andrea Borsic
Andrea.Borsic at Dartmouth.edu
Tue Oct 7 12:05:20 EDT 2008
Dear All,
I am a recent user of CMake, and I cannot figure out how to tell CMake
that a TARGET_LINK_LIBRARY is shared. I am working under Windows Xp with
MS VisualStudio 2008, and the following is my CMakeLists file:
PROJECT(Triangle)
ADD_LIBRARY(triangle_lib SHARED triangle.c)
ADD_EXECUTABLE(tricall tricall.c)
TARGET_LINK_LIBRARIES(tricall triangle_lib)
With the first target I am building a shared library 'triangle_lib.dll'
and with the second target I'd like to build an executable 'tricall'
that links to such library.
Linking fails, as VS 2008 is looking for the static library
'triangle_lib.lib'. I have been searching the forums, and came across an
example: TARGET_LINK_LIBRARIES(tricall SHARED triangle_lib), but then
the linker looks for SHARED.lib, so 'SHARED' in not interpreted as a
keyword but as the name of a library.
Does anybody know how I should specify that I am linking against a
shared library ?
Thanks in advance for your advice,
Best Regards,
Andrea
More information about the CMake
mailing list