2017-10-22 141 views
0

我想在受控的构建环境中采用CMake构建,但无法在这些系统上安装CMake。我已经看到资源详细说明如何使用工具链文件进行交叉编译(https://cmake.org/Wiki/CMake_Cross_Compiling)。为不同的构建主机使用工具链文件

是否有可能使用这种技术在一个系统上运行CMake来构建makefile以用于不同的生成主机?是否有任何资源可用于详细说明任何陷阱?我将在Linux上为从Arm Linux到z/OS的许多平台生成makefiles。

+0

两条评论:对于CMake的一个“交叉编译”意味着必须在运行CMake的PC/OS上安装“交叉编译器”来生成环境。所以不,你不能为另一个PC/OS环境生成一些东西。第二件事,你不需要安装CMake。它是独立的,可以运行来自源代码控制图像。 – Florian

+0

@Florian是的,我所描述的不是“交叉编译”。我希望避免尝试在非常旧的Z/OS和AIX版本上构建CMake,前提是我可以避免它。在交叉编译时,似乎有提到标志转向主机环境检查的问题,这就是为什么我认为它可能密切相关。 – NerdGGuy

+1

即使这可能,您也不能将CMake生成的构建树移动到其他位置。请参阅[CMake的FAQ:为什么CMake使用完整路径,或者我可以复制我的构建树?](https://cmake.org/Wiki/CMake_FAQ#Why_does_CMake_use_full_paths.2C_or_can_I_copy_my_build_tree.3F) – Florian

回答

1

谈到我的意见为答案

  1. “交叉编译”为CMake的手段,必须有“交叉编译器”安装在您的PC/OS运行CMake的生成环境。

    所以不,你不能生成例如makefiles为另一个PC/OS环境。

  2. 您不能将CMake生成的构建树移动到其他位置。

    CMake's FAQ: Why does CMake use full paths, or can I copy my build tree?

注:你并不需要安装CMake。它是独立的,可以运行来自源代码控制图像。所以你不需要拥有管理权限来运行CMake。

相关问题