I've got a project that has multiple branches that each take about 1 hour to compile on top of the line machines. I need to recompile across branches several times a week, across several machine and man开发者_开发知识库y other developers are doing this in the office as well.
Is it possible to pick a nightly revision, compress the object files and simply have developers sync to that revision, extract the object files. Will incremental builds work? It only takes 3 minutes to download/extract the object files rather then 1 hour so it would be a huge improvement.
If it is possible what are the things that must be considered? I assume the toolchain must be the same across machines (gcc build, osx version, instruction set of course).
I've worked at companies that had build machines place sets of libraries for different branches (versions) on network shares. Development environments were set up to link to local objects and libs first (if they exist), and these network shares second.
Developers had full source, but only needed to create incremental objects/libs. This allowed for development changes to be applied to only those changed libraries, and worked out OK as long as everyone stuck to a similar once-a-day update cycle. In the worst cases, you were back to building full source.
精彩评论