如何在C ++ / CMake生态系统中构buildDocker镜像

看看Java / Maven生态系统,有许多解决scheme可以将Docker镜像的构build过程直接集成到Java构build系统(如Maven)中(例如,通过dockerfile-maven Plugin) 。

对于CMake来说,这似乎并不容易实现,因为没有可用于集成Docker构build步骤的插件。

在使用CMake作为构build系统的C ++项目中设置Docker构build有哪些最佳实践? 除了CMake之外,还有其他的工具可以用来自动化Docker的构build吗? 如果我使用额外的工具,我怎样才能以可移植的方式在CMake构build文件夹中引用我的构build工件,而不用硬编码这些工件的path?

更新:似乎CMake不是一个合适的工具。 我更新了这个问题,并删除了CMake的限制。 相反,我现在正在寻找通用解决scheme或其他工具,我可以将其集成到我的构build系统中。