(如何)我可以取消未找到包配置文件的警告吗?

Tim*_*yer 3 qt cmake qt5

我正在尝试创建一个CMakeLists.txt尝试 find的文件Qt5,如果失败,则尝试回退到Qt4安装。到目前为止,该脚本有效,但如果Qt5未安装,我将始终收到警告。

请注意,FindQt5.cmakeQt5提供,如果仅Qt4安装则不可用。

基本结构是这样的:

cmake_minimum_required(VERSION 2.8.11)

message("-- Searching for Qt5")
find_package(Qt5 COMPONENTS Core Xml Network)

if (Qt5_FOUND)
  message("-- Searching for Qt5 - found version ${Qt5Core_VERSION}")        
else (Qt5_FOUND)
  message("-- Searching for Qt5 - not found") 
  # ...
endif (Qt5_FOUND)
Run Code Online (Sandbox Code Playgroud)

如果Qt5未安装(或未正确设置),警告消息如下:

通过在 CMAKE_MODULE_PATH 中不提供“FindQt5.cmake”,该项目要求 CMake 查找“Qt5”提供的包配置文件,但 CMake 没有找到。

找不到“Qt5”提供的具有以下任何名称的包配置文件:

    Qt5Config.cmake
    qt5-config.cmake

将“Qt5”的安装前缀添加到CMAKE_PREFIX_PATH或将“Qt5_DIR”设置为包含上述文件之一的目录。如果“Qt5”提供单独的开发包或SDK,请确保已安装。

有没有办法抑制这个警告?我也会接受其他方法来检测是否Qt5已安装。

Tim*_*yer 7

为了抑制警告,QUIET可以使用关键字:

find_package(Qt5 COMPONENTS Core Xml Network QUIET)
Run Code Online (Sandbox Code Playgroud)