C项目的CMake或Waf

时间:2010-10-09 05:48:19

标签: build-process build-automation cmake d waf

我们正在寻找适当的构建工具,用于使用第三方C-lib在D(使用Qt工具包)中编写桌面GUI应用程序,该工具包由几个本机库组成。它必须建立在Linux(本机开发)和Mac以及Windows上。我们可能会采用Code::Blocks作为IDE。

Waf已经支持D语言,而CMake只是接收它cmaked2

CMake使用特殊语言,而Waf是纯Python ... Otoh,CMake,通过CPack,可以生成多种格式的包以及GUI安装程序,例如: Windoze。

任何利弊,你会用什么?

由于速度原因和autoconf,我们排除了Scons,因此,请仅针对CMake / waf提出建议。

更新:虽然此处未收到任何回复,但我们正在其他地方进行研究,并进行了一些阅读和阅读。测试并决定使用Waf(1.6。发布就在附近)。

2 个答案:

答案 0 :(得分:9)

Waf非常快,已被选为Samba的构建系统(http://samba.org/)。它也被许多专有项目使用,因为它可以让你做Make / CMake中不可能的疯狂事情。

答案 1 :(得分:5)

我会/确实使用CMake

我见过CMake在比Waf更多的地方使用过。最重要的是,KDE项目现在正在使用CMake。

我对谷歌代码搜索做了一些研究:
各种开源项目中有2,097 wscript个文件 与36,914 CMakeLists.txt相比。

所以CMake肯定更受欢迎。

我还尝试使用谷歌趋势来看看哪些正在获得更多的牵引力CMake或Waf。我没有成功,因为Waf在学期过于笼统(即 W ife A cceptance F 演员),并且“Waf build”根本没有出现在谷歌趋势中。

众所周知,Scons的性能问题非常严重。由于Waf是Scons派生的,我担心它的表现。

最后,CMake的语法很糟糕,Waf语法很漂亮。因为你和D一起去,看起来你似乎愿意走出优秀工具的道路。在那种情况下,Waf可能是最合适的。