I would try following in foo/CmakeLists.txt: add_custom_command(TARGET foo POST_BUILD COMMAND touch bar/CMakeLists.txt )
This will force CMake to re-build the makefiles for 'bar' (because its CMakeLists.txt has been modified) And of course, add_dependencies(bar foo) Hope it helps, Fabrice Aeschbacher > -----Ursprüngliche Nachricht----- > Von: cmake-boun...@cmake.org [mailto:cmake-boun...@cmake.org] > Im Auftrag von Magnus Therning > Gesendet: Montag, 21. Juni 2010 17:41 > An: Michael Wild > Cc: Cmake Mailing List > Betreff: Re: [CMake] Building in stages. > > On Mon, Jun 21, 2010 at 16:10, Michael Wild <them...@gmail.com> wrote: > > > >> I'm looking for some suggestions on how to tackle a > problem with staged > >> builds. > >> > >> In trying to convert a project which uses omake to build > OCaml files I've > >> stumbled on the issue that building one sub-part (bar) of > the project needs > >> the result of another sub-part (foo). The twist is that > foo is required > >> already at the dependency-discovery stage of bar[1]. Is > there some clever way > >> of working around this? > >> > >> One obvious solution would be to simply skip automatic > generation of > >> dependencies for bar, but that feels a little naughty. It > feels about as > >> naughty as how the previous build system just worked by > ordering[2]. > >> > >> Hopefully there's some better way of achieving this, any > suggestions? > >> > >> /M > >> > >> [1] For those initiated in OCaml and its tools stack the > former sub-part > >> builds a custom filter for camlp4 which is then used in > the latter sub-part. > >> [2] omake is very similar to make and in this case the > build of foo just > >> happened before bar, and there was no attempt at automatic > generation of > >> dependencies at all. > > > > Well, if you need foo to be built before bar, just use > add_dependencies(bar foo). File-level dependency scanning > happens just before bar is built, so if I understand your > question correctly, you should be fine now... > > No, I need foo to be built before bar is inspected to gather its > dependencies. And dependencies for both foo and bar are gathered when > calling `cmake` to generate the Makefiles. This is how my OCaml > support works at the moment. If you have suggestions for how to move > the dependency generation to compile time (i.e. when calling `make`) > then I'd be very glad to hear it. Or even better, be pointed to an > example of how to achieve that. > > /M > > -- > Magnus Therning (OpenPGP: 0xAB4DFBA4) > magnus@therning.org Jabber: magnus@therning.org > http://therning.org/magnus identi.ca|twitter: magthe > _______________________________________________ > 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