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

从bash/grep/sed/awk/(auto)生成/配置到更健全的工具链(例如boost.build等)

  •  2
  • wash  · 技术社区  · 16 年前

    我目前维护了几个盒子,里面有一个松散相关的编码项目、数据库和存储库聚宝盆(从一个自制的*nix发行版到我的课堂笔记),由我自己和几个同样面色苍白的书呆子朋友维护(所有这些聚宝盆都存储在SVN中)。

    我们的绝大多数代码都在C/C++/汇编中(一些实用程序在Python/Perl/PHP中,我们不是大Java爱好者),编译在GCC中。我们的构建工具链通常由make、bash、grep、sed和awk组成。最近发现一个makefile的时间几乎和它构建的程序一样长(以及每个人对我神秘的sed和awking的普遍焦虑),这促使我寻求一个不那么痛苦的构建系统。

    目前,我遇到的最强的候选者是boost build/bjam,它替代了gnu make,而python替代了与构建相关的bash脚本。有没有其他的C/C++/ASM构建系统值得研究?我浏览了许多“制造”的替代品,但除了Boost之外,我还没有找到任何由我知道的名字开发的。

    (我应该注意到,从SvN命令行工具(如SvnVoice)中容易地提取信息的能力非常重要,同时也有足够的灵活性来配置ASM项目的构建,就像C/C++项目一样容易)。

    3 回复  |  直到 16 年前
        1
  •  1
  •   Latchezar Tzvetkoff    16 年前

    您也可以使用基于python的构建系统-- http://code.google.com/p/waf/

        2
  •  2
  •   Michael Kristofik    16 年前

    我们已经开始使用 CMake 最近在这里工作。到目前为止我一直很满意。

        3
  •  2
  •   dimba    16 年前

    scons cmake .

    两个“跨平台”—都支持在Windows和Linux上编译。

    cmake现在非常流行(例如boost使用它)。它为每个平台创建本机构建文件-makefiles(Linux),vc++项目(Visual Studio)自定义文件(cmakelist.txt)。在中还可以创建Eclipse项目、kdevelop项目等。因为它创建了本机构建文件,所以您可以继续使用您所使用的所有功能。例如,对于makefiles或 Visual Assist X 对于Visual Studio。

    我们使用它作为我们的项目,并对它感到满意——自动依赖、简单的语法、健壮的构建。

    scons是基于python的系统,它自己执行构建。它不太受欢迎,而且对于大型项目来说仍然很慢。但对于MSmall-to-Medium项目来说,可能是个不错的选择。