我想以某种方式配置CMake项目,以使单个构建执行针对多个平台(就我而言,我想针对Linux和Windows进行构建,x86_32和x86_64分别针对)。我已经安装并正在使用交叉编译器工具链,并为每个目标工作进行构建。
因此,挑战在于以某种方式设置CMake,即为CMAKE_SYSTEM_…
每个子构建适当地设置工具链和变量。我怎样才能做到这一点?
通常,这是不可能的。
CMake仅允许一次配置单个目标平台。如果要针对其他平台,则需要从头开始重新运行CMake。当其余的工具链保持相同时(例如,您不能同时构建x86和x64二进制文件),仅切换架构也是如此。
自动化此操作的正确方法是使用一个封闭的构建脚本,该脚本为每个目标平台调用一次CMake并对不同的二进制目录执行多个源外构建。该封闭脚本也可以用CMake本身编写(该ExternalProject
模块对此非常有效),尽管像Python或Bash这样的通用脚本语言可能更合适。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句