是否有任何软件解决方案可以同时部署多个项目,并在源代码构建包管理器级别运行(例如
ports
,
portages
或
nix
),但可以在当地居住?
-
-
项目分组在
git superprojects
具有针对特定环境仔细调整的特定构建/部署预设(并通过类似布尔的选项子集调整为特定目的)
-
我们已经为支持选项、构建配置、导出目标等的C++项目使用了精心设计的CMake构建脚本。现在换掉它会很昂贵。
-
我们不得不处理各种Linux发行版(从Gentoo和Ubuntu到Debian和CentOS)。
我们需要一个统一的构建&用于各种环境的部署工具。CMake不能很好地与非编译语言集成(例如,不支持通过virtualenv在本地安装Python)。
我不想改变我们已经开发的东西,而是希望以操作系统包管理器的方式使用它们。在我看来,它应该与所谓的
meta-build tool
. 事实上,Gentoo Portages非常接近:
-
使用简单的布尔选项(useflags、profiles)轻松定制
-
将构建过程委托给专门为此目的设计并经过良好测试的可靠且可定制的工具(CMake、autotools、Bazel等)
-
然而,移植程序不能在本地运行(并且有其他不相关的缺陷)。
在将整个构建系统转换为类似的系统之前,我必须变得非常自信
Meson
或
Bazel
或者我目前能找到的任何东西。
更具体地说,我可以提到我们目前所做的工作。这个
one
在我们正在维护的超级项目中,有一些涉及特定科学实验:
由于还有几天没有结果,我打算根据这些shell脚本活动所获得的经验编写自己的解决方案。