我有一个中型 C++ 项目,可以在 32 位和 64 位的 Linux、Windows 和 Mac OS X 上运行。在某些平台上,它有多个变体(例如 Linux 上的 Gtk-2 和 Gtk-3 变体)。作为一个业余程序员,我没有为每个平台专门构建机器的资源。所以我为每一个都安装了交叉编译器,这样所有的构建都在我的 Linux 机器上进行。
我希望能够用一个命令构建所有十个左右的变体。现在我通过一个快速而肮脏的 Python 脚本来实现这一点,该脚本创建了一个 makefile(实际上我最近切换到了 ninja,但我猜它不是很相关)。它为每个变体创建 Windows 安装程序、Debian 包和诸如此类的东西。但我想要一个更干净的解决方案,因为我的脚本不会随着项目的增长而很好地扩展。
所以我的问题是:哪些元构建工具能够创建一个可以处理多个工具包(交叉编译器)和自定义命令(创建安装程序等)的 Makefile(或类似的,如忍者构建文件)?
我尝试了 CMake(和其他一些),但对我来说如何使用多个工具包并不明显。大多数工具似乎为每个配置创建一个 Makefile。
编辑:现在,这个答案声称这是不可能的。我不明白为什么。如果我能用我 15 分钟的 Python 脚本来完成它,我觉得一定有一个工具能够为我完成它。