How to structure source code to check in binaries that take a long time to build
I'd like to check in some pre-compiled binaries for 3rd party dependencies. What is a good way to structure my /trunk folder?
My project is has around ten 3rd party libraries in it. My project is also cross-platform. It takes around 1 hour to build everything for just one 开发者_JAVA百科target. We are getting bigger now and I'd like to compile it all more frequently.
So I'd like to check in the binaries for the dependencies. What do you think of this idea?
/trunk
/pre-compiled-binaries
/win32
/debug
/file1.dll, filex.lib, filex.h
/release
/file1.dll, filex.lib, filex.h
/iOS
/debug
/libFile, libFilex.h
/relase
/libFile, libFilex.h
/bin
/stuff that is being compiled right now
In my built scripts, I would have two for two different purposes.
- What platform is this? Now copy Pre-Compiled Binaries to /trunk/bin
- Built all the dependencies. Now copy them into /trunk/bin
Since the depencies won't change, I won't have to do this much.
Is my directory structure appropriate?
I have done this in a similar way many times. As long as you pre-compile the binaries then check them in to a directory just for them, you're fine no matter where you put it. I personally tend to use "external" rather than "pre-compiled-binaries", but YMMV.
精彩评论