代码之家  ›  专栏  ›  技术社区  ›  Jonathan

构建系统选择?[闭门]

  •  5
  • Jonathan  · 技术社区  · 17 年前

    我目前正在建立一个新的软件项目,我想有一个自动构建系统。这个项目有一个相当复杂的过程,涉及C,C#。它还必须使用外部工具(SWIG)生成自动绑定(Python、PHP、Java、Ruby等)。

    该项目应该能够在Linux、Windows以及可能的Mac OS X中构建和运行。

    我研究过CMake、autotools和waf。有人有什么建议吗?

    6 回复  |  直到 17 年前
        1
  •  5
  •   Andrew Siemer    17 年前

    我建议你研究一下巡航控制和/或巡航控制。NET实现自动化和持续集成。还要看看NAnt和Ant的实际构建脚本功能。我在任何地方都会用到这些,而且几乎每天都会用到,我还没有遇到任何我做不到的事情。有时我不得不做我自己的定制NAnt任务。。。我在C#中做的。。。还是没问题!

        2
  •  3
  •   Chris Arguin    17 年前

    make当然能够满足您的所有要求。我就从这个开始;这是便携性的最佳选择。

    如果你仍然发现你有可移植性问题,那么自动工具通常是一个合理的解决方案。它们对我来说已经够痛苦的了,我宁愿避开它们,除非我真的觉得需要它们。

        3
  •  1
  •   redsquare    17 年前

    TeamCity 与巡航控制相比,xml配置更少。

        4
  •  1
  •   1ng0    17 年前

    其他人也使用 yam

    但我对CMake很满意。它可用于上述平台,并提供了许多功能来编写非标准构建过程的完全自动化脚本(在受支持的平台上)。

    在我的例子中,它是用C语言构建的数字处理后端,使用Tcl和GSL库,结合Tcl/Tk中的前端,以及在Linux、MacOS和Win(MingW&Visual Studio)上自动生成独立可执行文件(starpack/Tlkit)。

        5
  •  0
  •   OneOfOne    16 年前

    我个人使用CMake+mingw+Qt4来满足我所有的跨平台需求,但是我相信在linux和linux上采用CMake来swig/mono是相当容易的。net在windows上运行。

        6
  •  0
  •   Mike B    10 年前

    Google build system(现在是开源的)是一个不错的选择: http://bazel.io/