Pau Garcia i Quiles wrote:
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.

If you use the full path then it should work fine. find_library will always return the full path. So if you do target_link_libraries(foo ${SQLITELIB}) where SQLITELIB = /usr/lib/libswlite3.a then it will work just fine.

-Bill

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to