Hi Andreas. Would it be an option to change your VS settings and in 'Tools > Options > Projects and Solutions > Build and Run', uncheck "Only build startup projects and dependencies on Run?" If you do that, it will check/rebuild everything when you hit F5, not just the startup project and its dependencies. I believe that would fix your issue.
Petr On Mon, Feb 11, 2013 at 11:22 AM, Andreas Haferburg <ahaferb...@scopis.com>wrote: > My initial explanation was bad. > > Both parent and child depend on a common library. If something in this lib > changes, I need both of them to get rebuilt before executing parent.exe, > since it will run child.exe. > > Sorry for the confusion. > > Andreas > > > > On 08.02.2013 19:04, Nick Overdijk wrote: > > I'm probably missing something, but why > > > >> add_dependencies(parent child) > > > > ? That doesn't make sense. Parent is not using anything from child. You > can just leave that line away and everything will be fine right? > > > > On 2013-08-02, at 16:24:21 , Andreas Haferburg wrote: > > > >> Yes, that's pretty much the setup we have: The common (static) library > contains almost all obj's, and the two exe projects only have a small > main.obj and link against the library. I'd like to eliminate the > build(=link) time of child.exe by having the linker link both exes at the > same time. > >> > >> Regards, > >> Andreas > >> > >> > >> On 08.02.2013 15:41, Patrick Johnmeyer wrote: > >>> On Fri, Feb 8, 2013 at 8:16 AM, Andreas Haferburg < > ahaferb...@scopis.com > >>> <mailto:ahaferb...@scopis.com>**> wrote: > >>> > >>> What happens is that common is built, then child, then parent, > then parent is executed. > >>> What I'd like to happen is that common is built, then child+parent > are being built concurrently, > >>> and as soon as both are done, parent is executed. > >>> > >>> > >>> Unfortunately that's just not how dependencies work. If parent is > dependent on child, then child > >>> will build before parent in serial. And since they are both dependent > on common, you essentially > >>> have a linear dependency in your example. > >>> > >>> You could break this up by creating a new target that is dependent on > child and parent, and > >>> eliminate parent's direct dependency on child. This will allow child > and parent to be built > >>> simultaneously. You would then need to "do something" with this new > target so that it will cause > >>> "parent" to be run. > >>> > >>> You may be able to improve build times (assuming that is the driver) > by invoking the compiler flag > >>> for parallel compilation. Another option may be to convert the > majority of child and parent to > >>> another library, with small simple executable projects that invoke > those libraries. This moves the > >>> dependencies around in a way that you *may* get better build > performance ... but everything I say is > >>> speculative without knowing the nitty gritty of your project -- build > times per project, full > >>> dependency graph, etc. > >> -- > >> > >> Powered by www.kitware.com > >> > >> Visit other Kitware open-source projects at http://www.kitware.com/** > opensource/opensource.html<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<http://www.cmake.org/Wiki/CMake_FAQ> > >> > >> Follow this link to subscribe/unsubscribe: > >> http://www.cmake.org/mailman/**listinfo/cmake<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<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<http://www.cmake.org/Wiki/CMake_FAQ> > > Follow this link to subscribe/unsubscribe: > http://www.cmake.org/mailman/**listinfo/cmake<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