当我这样打电话给cmake时,一切正常:
cmake -G'Android Gradle - Ninja' ..
但是,我正在设置一个bash脚本,让我指定目标平台,动态更改-G
参数。
#!/usr/bin/env bash
CMAKE_GENERATOR="Ninja"
if [[ $TARGET_PLATFORM == "android" ]] ; then
CMAKE_GENERATOR="'Android Gradle - Ninja'"
fi
cmake -G$CMAKE_GENERATOR ..
这给了我以下错误:
CMake Error: Could not create named generator 'Android
显然cmake将生成器名称拆分为空白并将其解释为多个参数。我尝试过多次转义单/双引号以及空白但无法使其工作的组合。我甚至不确定这是否是一个cmake或bash问题。有什么想法吗?
答案 0 :(得分:3)
以下命令中缺少引号:
cmake -G$CMAKE_GENERATOR ..
应该是
cmake -G"$CMAKE_GENERATOR" ..
之后发生了单词拆分