我正在为gitlab上的c ++项目寻找构建系统。我想创建一个类似于linux内核配置的构建,允许在构建之前关闭或打开功能,并且我希望所有选项都基于我合并的功能分支。
实施例: 在时间t = 0,我已经合并了特征1,2和3。 在时间t = 1,我想仅使用特征1和3创建一个realease。
我的所有功能都分为合并请求。我目前的方法是创建一个脚本来制作补丁并删除未选择的功能。一些替代方法包括在我的代码中为每个功能声明预处理程序指令。
我想知道这样的工具是否已经存在,或者我是否应该遵循一般的最佳做法。