On 27. Dec, 2009, at 20:41 , Pau Garcia i Quiles wrote: > On Sun, Dec 27, 2009 at 10:59 AM, Michael Wild <[email protected]> wrote: >> >> On 26. Dec, 2009, at 17:53 , 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. >> >> Perhaps a variable CMAKE_FIND_STATIC with the possible values "FIRST" >> "LAST", "ONLY" and "NEVER, similar to CMAKE_FIND_FRAMEWORK, would fit the >> bill? > > No, it won't. If my application links to two libraries, I may want to > link statically to libA but dynamically to libB.
But then, on Debian a static version of sqlite3 is available, but not on Mac OS X (that is, without compiling it yourself). What should be the behavior there? Perhaps this could be expanded to optional options FIND_STATIC of find_library and find_package? Besides, the variable IS enough: set(CMAKE_FIND_STATIC FIRST) find_library(SQLITE_LIBRARY sqlite3) set(CMAKE_FIND_STATIC LAST) find_library(OTHER_LIBRARY other) Michael _______________________________________________ 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
