在cmake中是否有一个变量可以让它看起来像传递了-q选项一样?这将是很好的,因为我有一个非常模块化的构建,使CMAKES输出变得混乱。我在C++项目中使用它。
最佳答案
没有我知道的变量。但是,您可以在顶级cmakelists.txt的开头添加以下hack(在调用之前)以稍微控制输出:
function(message)
list(GET ARGV 0 MessageType)
if(MessageType STREQUAL FATAL_ERROR OR
MessageType STREQUAL SEND_ERROR OR
MessageType STREQUAL WARNING OR
MessageType STREQUAL AUTHOR_WARNING)
list(REMOVE_AT ARGV 0)
_message(${MessageType} "${ARGV}")
endif()
endfunction()
这将覆盖cmake的内置
project
命令,并抑制所有message
和非类型化消息,使更重要的类型能够正确输出。例如,消息的输出将从
CMake Warning at CMakeLists.txt:14 (message):
This is a dummy warning message.
到
CMake Warning at CMakeLists.txt:8 (_message):
This is a dummy warning message.
Call Stack (most recent call first):
CMakeLists.txt:14 (message)
请注意,生成警告消息的实际行列在调用堆栈中,而不是输出消息的第一行。
最后,这对指示配置尝试成功或失败的摘要输出没有影响。
关于告诉我安静点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10509380/