作者:朱金灿
来源:http://blog.csdn.net/clever101
听说一些大IT公司都有自己的软件构建系统。可能有朋友问:在IDE做得越人性化的时候,为什么还需要一个软件构件系统?这是因为一个软件它需要随时准备跨越不同版本的IDE,需要跨越不同操作系统,而基于图形化界面的IDE可能永远不能提供那种快速升级IDE和一键式编译所有源码的便利。比如你现在用的是VS2008,突然要求出一个VS2010的版本;比如你在Windows平台开发,突然要求移植到Linux平台下;比如你在32位平台开发,突然要求移植到64位平台下……。
那么如何实现一个自定义的软件构建系统呢?我设想是这样的:一个软件构建系统是一个启动器+一堆脚本。一个启动器就是一个启动程序,用来运行所有编译源码的脚本,它可以是一个命令行程序,也可以是一个批处理脚本(或Linux下的shell脚本)。这个启动器如有需要,可以增加一些启动开关。一堆脚本包括编译第三方库的makefile,也包括编译自己软件的脚本(可以是makefile,也可以单纯是IDE的命令行脚本),然后编译结果都输出到指定目录下。这套构建系统在设计之初需要充分考虑其扩展性,比如不同版本的IDE,比如不同操作系统平台,比如不同的硬件平台。
初步的想法是这样。等慢慢做出来再总结下经验。