Thanks for all the help its working. Regards- ankit jain
2009/1/30 Philip Lowman <phi...@yhbt.com> > On Thu, Jan 29, 2009 at 11:38 PM, ankit jain <ankitgu...@gmail.com>wrote: > >> >> >> 2009/1/29 Pau Garcia i Quiles <pgqui...@elpauer.org> >> >>> On Thu, Jan 29, 2009 at 1:12 PM, ankit jain <ankitgu...@gmail.com> >>> wrote: >>> > hi all, >>> > >>> > Problem: >>> > >>> > libA : A/foo.cc >>> > libB : B/bar.cc >>> > and a 3rd library: >>> > libC : A/foo.cc B/bar.cc >>> > ? >>> > >>> > here i build the libraries for A and B but not able to build lib for C >>> . >>> > Guide me to do that. What should be the content of cmakelist file of C >>> to >>> > create lib C >>> > >>> > here A and B are sub folders of C >>> >>> Do you ean you are trying this but it's not working? >>> >>> ADD_LIBRARY (libA A/foo.cc ) >>> ADD_LIBRARY (libB B/bar.cc ) >>> ADD_LIBRARY (libC libA libB ) >>> >>> That fails because CMake does not support convenience libraries: >>> >>> http://www.cmake.org/Wiki/CMake_FAQ#Does_CMake_support_.22convenience.22_libraries.3F >>> >>> You need to do this: >>> >>> ADD_LIBRARY (libA A/foo.cc ) >>> ADD_LIBRARY (libB B/bar.cc ) >>> ADD_LIBRARY (libC A/foo.cc B/bar.cc ) >>> >>> I. e. list the source files for libC >>> >>> Is that what you want to do? >>> >> >> Dont you think so it will be too hectic if there are 10 folders inside >> folder C and each folder has around 10 C files each. then listing all will >> be really cumbersome. >> What should be the alternative for it. >> > > Here's one idea, in A and B set a variable with all of the source files and > add them to the PARENT_SCOPE. > > set(A_SRCS a.cc) > set(A_SRCS ${A_SRCS} PARENT_SCOPE) > add_library(A ${A_SRCS}) > > Then in the higher directory, use a foreach() loop to construct a proper > relative path to each source file: > > foreach(fname ${A_SRCS}) > list(APPEND C_SRCS A/${fname}) > endforeach() > foreach(fname ${B_SRCS}) > list(APPEND C_SRCS B/${fname}) > endforeach() > add_library(both ${C_SRCS}) > > -- > Philip Lowman >
_______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake