我使用简单的add_subdirectory
将项目包含在我的项目中。
然而,该项目非常冗长,并且用许多消息填充我的构建。 不修改外部项目......是否可以删除所有(或部分)恼人的导入消息?
答案 0 :(得分:5)
如果外部项目本身不支持它(例如here),您仍然可以选择覆盖message()
函数并声明自己的算法/检查何时打印消息。
这是一个简单检查名为MESSAGE_QUIET
的变量的版本:
<强>的CMakeLists.txt 强>
cmake_minimum_required(VERSION 2.8)
project(MessageQuiet)
function(message)
if (NOT MESSAGE_QUIET)
_message(${ARGN})
endif()
endfunction()
set(MESSAGE_QUIET ON)
add_subdirectory(ExternalProject)
unset(MESSAGE_QUIET)
message(STATUS "Hello from my project")
<强> ExternalProject \的CMakeLists.txt 强>
message("Hello from external project")
答案 1 :(得分:1)
通过包含子目录,您无法抑制输出。
如果是查找脚本,可以使用QUIET
进行调用。如果您可以使用cmake -P scriptToExecute
调用脚本而不是包含子目录,则可以重定向输出。