On 02/25/2011 01:48 PM, Felipe Ferreri Tonello wrote: > Guys, > > I'm doing this: > add_library(lib_base ${sources}) > target_link_libraries(lib_base ${libs}) > > but look at the linker output: > /usr/bin/ar cr liblib_base.a CMakeFiles/lib_base.dir/diskman.cpp.o > CMakeFiles/lib_base.dir/netutils.cpp.o > CMakeFiles/lib_base.dir/base.cpp.o > CMakeFiles/lib_base.dir/datetime.cpp.o > CMakeFiles/lib_base.dir/datasource.cpp.o > CMakeFiles/lib_base.dir/tinifile.cpp.o > CMakeFiles/lib_base.dir/list.cpp.o > CMakeFiles/lib_base.dir/memstream.cpp.o > CMakeFiles/lib_base.dir/misc.cpp.o CMakeFiles/lib_base.dir/stringz.cpp.o > CMakeFiles/lib_base.dir/critsec.cpp.o > CMakeFiles/lib_base.dir/threads.cpp.o > CMakeFiles/lib_base.dir/sockets.cpp.o > CMakeFiles/lib_base.dir/sockserver.cpp.o > CMakeFiles/lib_base.dir/sockthread.cpp.o > CMakeFiles/lib_base.dir/strfunc.cpp.o CMakeFiles/lib_base.dir/ssl.cpp.o > CMakeFiles/lib_base.dir/rwlock.cpp.o CMakeFiles/lib_base.dir/ipc.cpp.o > CMakeFiles/lib_base.dir/decContext.cpp.o > CMakeFiles/lib_base.dir/decimal.cpp.o > CMakeFiles/lib_base.dir/decimal32.cpp.o > CMakeFiles/lib_base.dir/decimal64.cpp.o > CMakeFiles/lib_base.dir/decimal128.cpp.o > CMakeFiles/lib_base.dir/decNumber.cpp.o > CMakeFiles/lib_base.dir/decPacked.cpp.o > /usr/bin/ranlib liblib_base.a > > see? No linked libraries, only linked objects... > > How to proceed? >
Well, you simply *CAN'T* link a static library against another library. After all, it's just a glorified zip-file. But CMake will remember that you specified that lib_base depends on ${libs}, and when you link a executable or dynamic library against lib_base, CMake will link that target also against ${libs}. HTH 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