在Ubuntu-18.04LTS和20.04LTS下,我已经用CMake构建了一个(供应商提供的)包大约一年了,但是在最近的升级(cmakeVersion3.23.1)之后,一些东西发生了变化,出现了许多奇怪的异常。我想知道下面的任何一个看起来都很眼熟,是否有一个简单的修复方法?
CMake Warning:
Ignoring extra path from command line:
"Export compile commands"
我可以看出这是因为我正在生成一个build.make
文件,其中包含
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON CACHE INTERNAL FORCE "Export compile commands"
它反过来来自于default.cmake
中的这个片段
set(CMAKE_EXPORT_COMPILE_COMMANDS ON
CACHE INTERNAL FORCE
"Export compile commands")
但是,我不明白(作为一个受恐吓的新手CMake用户)为什么最近停止正常工作,并开始提供这些警告消息。我可以忽略这些警告,但我不确定其他坏事情也不会发生。
我能做些什么(除非等待供应商发布补丁,谁知道什么时候会发生),这样才能让我的构建重新正常工作吗?
发布于 2022-04-20 17:34:42
FORCE
是set
命令的最后一个参数。
set(CMAKE_EXPORT_COMPILE_COMMANDS ON
CACHE INTERNAL FORCE
"Export compile commands")
使用文档"FORCE"
创建缓存变量,并列出一个与pattern of set(CACHE)
usage不匹配的附加参数"Export compile commands"
集(.缓存力)
将代码片段更改为
set(CMAKE_EXPORT_COMPILE_COMMANDS ON
CACHE INTERNAL
"Export compile commands" FORCE)
警告应该是固定的。您还可以完全删除FORCE
,因为FORCE
是由INTERNAL
类型隐含的。
set(CMAKE_EXPORT_COMPILE_COMMANDS ON
CACHE INTERNAL
"Export compile commands")
https://stackoverflow.com/questions/71940882
复制相似问题