jens,
I was building/debugging code this morning and also came across this behavior. I am using trunk SVN 6564.
I have a project that builds a shared library that is also dependant on other static libraries (also my own). I have a “main” workspace that I use for all the projects that sets up the project dependencies (the build order). Nice.
Your suggestion regarding “external dependency files” works beautifully to force a relink of my shared library when one of the other static libraries changes. I am glad this capability exists.
I have to agree however with cacb’s December 10, 2008 post. If we set up a build dependency (build order), that should also imply that the final target get relinked if any of the depandancy output images change. Having to do this manually is an extra step and a bit cumbersome when having a project with many build targets (debug, release, trial_debug, trial_release) not to mention supporting multiple platforms (Windows, Linux and OS X). I do not think setting up a dependency should also “auto link” with the dependency. We should always have to manually specify static libs we need to link against. All the dev tools I have used in the past 26 years have pretty much worked this way… and it might help to simplify the C::B developer experience.
I hope this information is helpful. I think C::B is great and my only wish is to see it get better.
Thank you,
edwin