代码之家  ›  专栏  ›  技术社区  ›  Dickon Reed

哪个构建系统对跨平台驱动程序、库和GUI构建具有最佳支持?

  •  3
  • Dickon Reed  · 技术社区  · 17 年前

    我们的源代码主要是C,带有Python、C++和GNU MaFag文件,还有一个C++和BASH。它主要驻留在一个存储库中,但我们将源代码推送到各个第三方,所有第三方都有自己的源代码存储库。保持快速构建也会引起一些兴趣,这可能涉及拆分项目。

    6 回复  |  直到 17 年前
        1
  •  4
  •   bayvictor bayvictor    17 年前

    我投票支持CMake,因为它是一种元构建工具,可以从零开始重写KDE4构建系统——让KDE4成为一个跨平台的桌面,甚至可以在WindowsCE上运行!

    CMake是将KDE4移植到地球上任何操作系统的运营商——通过使用相关的工具链为大约40个操作系统生成Makefile(或Windows案例中的vcprojs)!

        2
  •  1
  •   Ruben Bartelink    17 年前

    JetBrains TeamCity总体上运行良好,因此值得列入评估清单。

    ThoughtWorks Cruise也在同一空间。虽然它的v1,它来自一个稳定的,已经存在了一段时间。

    对于Team Foundation Server来说,没有必要为你的情况数出来,但在盒子之外,我提到的另外两个可能是更多的MS商店中心。

    作为一个一般性的评论,根据你所拥有的多样性水平,你肯定想要尝试你想要使用的任何东西——仅仅因为某些东西被支持为方框上的勾号并不意味着它将适合你所寻找的东西。

        3
  •  1
  •   EricMinick    17 年前

    迪克森,

    您的构建主要是单片的,还是希望单独构建一些库并将它们组装到更大的应用程序中?如果项目间的依赖关系很重要,那么您的选择很快就会受到限制。 AnthillPro 做得好,我想 TeamCity 有一些常春藤集成支持。从您所说的,听起来这不是绝对的需要,但可能有助于加快构建。我们已经看到许多团队有效地执行了这一策略。

    构建服务器比较矩阵由我们在Thoughtworks的朋友主持: confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix

    祝你好运

        4
  •  1
  •   JesperE    17 年前

    你应该 CMake

        5
  •  1
  •   Agent_9191    17 年前

    你可能想看看 Cruise . 它是基于Java构建的,因此可以在任何支持Java的平台上运行。您还可以在不同的机器上拥有多个构建代理,它们可以在不同的平台上执行不同的任务。Thoughtworks仍在构建它,因此缺少一些功能,但这可能是一个不错的选择,因为您正在寻找真正的跨平台功能。

        6
  •  1
  •   VladLosev    17 年前

    SCons 是一个用Python实现的跨平台构建系统。我们使用它在三个平台上构建代码。它可以自动检测构建工具,但也可以在构建脚本中放入任意Python代码。它还允许您将环境设置与项目结构的描述分开,这是在不同环境中重用buidl脚本的一个很好的特性。除了直接构建项目外,它还可以生成VisualStudio项目文件。