我们有一个相当大的C/C++项目,使用scons进行构建.我想通过Eclipse-CDT尝试构建它.任何人都有这方面的经验,可以告诉我将scons设置为构建器的步骤.(不使用SConsBuilder插件,它不适用于Fedora-11的Eclipse-CDT).
我们的一位学生为Eclipse CDT实现了一个新的SCons集成,它可以双向工作,即它可以导入SCons文件并使用相应的设置填充Eclipse CDT项目,它可以从Eclipse项目设置生成SCons文件.此外,它还提供了一种交互式SCons模式,可显着加快大型SCons项目的增量构建.它将很快免费向公众发布,请访问http://sconsolidator.com
您可以使用简单地将重要目标委派给scons的Makefile
.PHONY: all clean install default: all all: scons clean: scons -c install: scons install
然后可以开箱即用"标准制作C项目".
我之前在Eclipse CDT中尝试过Waf,SCons会非常相似.解决方案是创建一个空的Makefile项目,然后在选项中将"make"更改为"scons".在Windows上可能需要路径中的scons.bat文件.这并不比创建一个包含all:\n\tscons
类型模式的虚拟Makefile 好,但是工作量最少.
该SConsBuilder插件是不是一个好主意.它有一大堆硬编码的python代码,它吐出到SConstruct.它已经很久没有更新了,很多代码可能已经在SCons中被弃用了.我认为更好的方法是做SCons为Visual Studio做的事情,或CMake为Eclipse CDT做的事情.这意味着根据您的构建配置动态生成.cproject文件.
我曾经为Waf编写了一个Eclipse项目生成器,它可以遍历构建节点收集源文件并吐出.project和.cproject文件.与CMake的工作方式类似,但Waf创建变体目录的默认行为意味着您不必处理源外构建问题.这已经被添加为waf本身的额外内容.它只使用Waf API的一部分,因此可以将它转换为具有一些小工作量的SCons.换句话说,那里没什么..cproject格式在任何地方都没有真正记录,与Java版本相比真的很难看.
虽然我在CDT方面做得不是很好 - 它远远落后于Java开发工具 - 而且我仍然使用Vim :make
,所以最后它有点学术性.