[CMake] target_link_libraries: prefer static to dynamic

Pau Garcia i Quiles pgquiles at elpauer.org
Sat Dec 26 11:53:36 EST 2009


Hello,

I think this has already been discussed and the answer is negative but
still: when I do target_link_libraries to an external library (for
instance, my application needs to link to sqlite), is it possible to
tell CMake to link to the static version of sqlite instead of the
dynamic version?

For instance, in Debian the libsqlite3-dev package contains both the
static and the dynamic versions of the library and they have the very
same name:

/usr/lib/libsqlite3.a
/usr/lib/libsqlite3.so

( http://packages.debian.org/sid/i386/libsqlite3-dev/filelist )

Is this feature going to be implemented any time soon? I have not
looked at the sources for target_link_libraries but at first sight it
doesn't look difficult to add  something like
"static;optimized;libsqlite3.a;dynamic;optimized;libsqlite3.so".
There's the problem of find_library on Windows confusing the .lib as
the import for a .dll with a static .lib library but IIRC it's
possible to detect that.

-- 
Pau Garcia i Quiles
http://www.elpauer.org
(Due to my workload, I may need 10 days to answer)


More information about the CMake mailing list