cmake检测target_link_libraries中列出的未知目标

时间:2018-11-14 13:30:54

标签: cmake

cmake似乎无法检测到不存在的目标。老实说,我很惊讶地发现了这一点。

for (actions of commandArray) {
 while (context.getRemainingTimeInMillis() > 60000) {
    switch(actions.action) {
       case: do something
       case: etc..
    }
  }
}
let done = then I check if I am satisfied with results
if (done){
save results 
} else {
sendSQS(recurseMessage);
}

如果库for (actions of commandArray) { if (context.getRemainingTimeInMillis() > 60000) { switch(actions.action) { case: do something case: etc.. } } else { break; } let done = then I check if I am satisfied with results if (done){ save results } else { sendSQS(recurseMessage); } 不存在,我希望cmake在配置时返回错误。不幸的是,这种情况并非如此。还是这种行为是自愿的?

我使用cmake版本3.12.1

1 个答案:

答案 0 :(得分:0)

仅将target_link_libraries的第一个自变量必需作为目标,其他自变量可能作为目标,但可能是其他的事情也是如此。 CMake documentation中描述了可能的非第一自变量类型:

  • 库目标名称
  • 库文件的完整路径
  • 一个简单的库名
  • 链接标志

(该列表中省略了关键字)。

如果您将CMake解释为Car作为普通库名,那么它将把选项-lCar传递给链接器。

请注意,CMake不会尝试解释链接器的标志。