Re: [CMake] how to build library for this..

2009-01-30 Thread ankit jain
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.comwrote:



 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

[CMake] how to build library for this..

2009-01-29 Thread ankit jain
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


Regards-
ankit
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] how to build library for this..

2009-01-29 Thread Pau Garcia i Quiles
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?

-- 
Pau Garcia i Quiles
http://www.elpauer.org
(Due to my workload, I may need 10 days to answer)
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] how to build library for this..

2009-01-29 Thread ankit jain
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.

Ankit Jain


 --
 Pau Garcia i Quiles
 http://www.elpauer.org
 (Due to my workload, I may need 10 days to answer)
 ___
 CMake mailing list
 CMake@cmake.org
 http://www.cmake.org/mailman/listinfo/cmake

___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] how to build library for this..

2009-01-29 Thread Philip Lowman
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