Hi Andreas, Thanks for another reply!
My question therefore is: How can the cmake for MY_APP start the cmake for MY_LIB? I know how to get my app to link a library, and how to add the include directories for the lib - so that the app can compile - but how can it kick-start the build for MY_LIB so that the library is guaranteed to exist ready to be linked? I don't want to use an external script as I'd have to have one for each platform - going against the point of cmake, surely? Thanks again for your help so far, David On 17 June 2011 10:22, Andreas Naumann <andreas-naum...@gmx.net> wrote: > ** > Hi, > > how should cmake find your MY_LIB-directory? > The simplest way, is to add the directory using > "add_subdirectory(MY_LIB_DIR ...)" > > If the MY_LIB-build directory is somewhere else, in a completely different > directory, you should think about your project structure. > > Andreas > > Am 17.06.2011 11:06, schrieb David Springate: > > Hi, > > Thanks for the reply - but I think you might have misunderstood my > question. > > I want to setup CMake so that when I call Cmake like so (for MY_APP): > mkdir build && cd build > cmake .. -G Xcode > > that the cmake call will be able to 'know' that it needs MY_LIB, find where > the MY_LIB CMakeLists.txt file is, build it, and then continue with the > cmake call for MY_APP. > > Any ideas? > > David > > On 17 June 2011 08:18, J.S. van Bethlehem > <j.s.van.bethle...@astro.rug.nl>wrote: > >> Hej David, >> >> >From your description I think all your build script needs to do is: >> >> mkdir build && cd build >> cmake .. >> make MY_APP >> >> Further, assuming your library also gets build with CMake, you probably >> have an add_directory(../MY_LIB ../MY_LIB) in your main lists-file >> (otherwise you should) and then the link_directories() command is not >> needed. I created sort of a 'standard' machinery for building a list of >> 'sub-packages' using CMake. It's not well documented and probably still has >> many issues, but I could mail it to you if you think it may help you get >> started and if you're interested. >> >> Greetsz, >> Jakob >> >> On 06/16/2011 11:54 PM, David Springate wrote: >> >>> Hi, >>> >>> I am new to CMake - and whilst I am immediately impressed with it's >>> relative ease of use - I have a 'noob' question, I'm sure! >>> >>> I have the following: >>> A library called MY_LIB that builds with a cmake command (I have created >>> a nice CMakeLists.txt file) >>> An application called MY_APP that builds a nice application - and even >>> links in MY_LIB using: >>> link_directories("../MY_LIB") >>> target_link_libraries(MY_APP MY_LIB) >>> >>> Now, first of all I know that I'm not supposed to use relative paths.. >>> but we'll call a side issue.. (though I'd be happy to hear the correct way >>> of doing things!) - the real problem that I have is this: >>> >>> Give than MY_LIB is built using CMake and MY_APP is built using CMake.. >>> how can I setup my build scripts so that I can call CMake once for MY_APP, >>> it'll realise that it needs MY_LIB, which hasn't yet been built, invoke >>> CMake for MY_LIB and then link itself with MY_APP? >>> >>> I ask because I use libraries heavily to organise my code (and reuse) and >>> would love to switch to CMake for all my building (XCode 4 has forced my >>> hand!) but I can't seem to figure this out. >>> >>> Please help a newcomer out - any help is greatly appreciated! >>> >>> Thanks, >>> >>> David >>> >> _______________________________________________ >> 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 >> > > > > -- > David Springate > david.spring...@gmail.com > > > _______________________________________________ > 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 > > > > _______________________________________________ > 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 > -- David Springate david.spring...@gmail.com
_______________________________________________ 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