0
点赞
收藏
分享

微信扫一扫

[BuildRelease]跨平台构建工具SCons

一 SCons

 SCons是下一代的开源的软件构建工具。

[BuildRelease]跨平台构建工具SCons_c++

主页:​​http://www.scons.org/​​

参考:​​http://www.angelfire.com/linux/skip/Articles/SConsExamples.html​​

 

二 Scons特点

特点如下:

1)配置文件是python脚本(使用功能强大的真实的编程语言解决build的问题)。

2)内置的C/C++/Fortran的可信的,自动的依赖分析,不在需要make depend或make clean来得到所有的依赖关系。依赖关系分析很容易使用用户定义的dependency scanner扩展到其他的语言和文件类型。

3)内置的支持c/c++/d/java/fortran/yacc/lex/qt/swig和构建tex和latex文档。很容易通过用户定义的builder来支持其他的语言和文件类型。

4)build从源码管理工具(SVN。。。)或其他的build脚本(ant。。。)。

5)内置支持从源码管理工具fetch代码,例如sccs,rcs,cvs,bitkeeper和perforce。

6)内置支持所有的Microsoft VisualStudio的所有版本,包括产生dsp,dsw,sln和vcproj文件。

7)可信的使用MD5签名来检测build的changes,同时也支持配置为传统的时间戳来检测changes。

8)改进了并行build,像make -j,同时运行N个job,不决定于目录的继承结构。

9)集成像autoconf的find #include 文件,libraries,functions和typedefs。

10)所有的依赖的Global view。

11)能够share built files in a cache to speed up multiple builds, 像CCache但是不局限于C/C++。

12)从一开始就设计为跨平台,所以支持所有的系统(known to work on Linux, other POSIX systems (including AIX, *BSD systems, HP/UX, IRIX and Solaris), Windows NT, Mac OS X, and OS/2.)。

 

三 实例hello

 1)文件:


D:\SCONS

└─sample
hello.c
SConstruct


 2)hello.c


#include <stdio.h>

int main() {
printf("Hello World.");
}


 3)SConstruct


Program('hello.c')


 4)build

[BuildRelease]跨平台构建工具SCons_c++_02

 

四 other

1)Builder: Program(),Library(),SharedLibrary(),Object(),Other Language Builders。program(''hello.c)。
2) Construction environment: 环境变量。env=Environment(CC = 'gcc', CCFLAGS = '-O2')。
3) SConstruct: 跟目录下的SConstruct file。
4)SConscript:子目录下的Sconscript file。

完!


作者:​​iTech​​

微信公众号: cicdops

github:​​https://github.com/cicdops/cicdops​​

[BuildRelease]跨平台构建工具SCons_依赖关系_03




举报

相关推荐

0 条评论