>>> On 5-10-2010 at 10:10, in message <4caadd79.7000...@ill.fr>, pellegrini <pellegr...@ill.fr> wrote: > Hello everybody, > > I have a library that can be built for a use in different modes > (console, window). It is made of two sets of files. The first one is
> common to > the console/window building modes while the second set has to be be > built with a slightly different compiler flags depending on the selected > building mode. > > After many discussions here, I was advised to build a static library > for the the files common to console and window building modes > (e.g. common.a) and to build a second static library for the files > depending on the building mode (e.g. console.a and window.a) linking the > latter to the first one. I did it and ... it worked ! But what I would > like is a little bit different. I would like my console.a (or window.a) > library to > contain the object files of the common.a library. Indeed something like > 'ar cr console.a library.a'. > > Would you have any idea ? > > thank you > > Eric Hi Eric, My first question is: why do you want to join these two libraries. I understand from your mail that people suggested you to create two separate libraries. Now you want to join them again. To answer your question: you can't join two static libraries, not in a portable way. You should specify a complete list of sources in your CMakeLists.txt file for each of the two libraries. Something like: SET(LIB_SOURCES common.c) IF(BUILD_CONSOLE) LIST(APPEND LIB_SOURCES console.c) ADD_LIBRARY(console ${LIB_SOURCES}) ELSEIF(BUILD_WINDOW) LIST(APPEND LIB_SOURCES window.c) ADD_LIBRARY(window ${LIB_SOURCES}) ENDIF(BUILD_CONSOLE) The downside to this solution is that you have duplicates of the object files that are part of common, but that's the price you'll have to pay if you want to have just one static library. HTH, Marcel Loose. _______________________________________________ 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