(如何)可以抑制未找到包配置文件的警告?

时间:2014-10-01 14:57:59

标签: qt cmake qt5

我正在尝试创建CMakeLists.txt文件,尝试查找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)

未安装(或未正确设置)Qt5的情况下的警告消息如下:

  

不在CMAKE_MODULE_PATH这个项目中提供“FindQt5.cmake”   已经要求CMake找到提供的包配置文件   “Qt5”,但是CMake没有找到。

     

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

     

Qt5Config.cmake
  QT5-config.cmake

     

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

有没有办法抑制此警告? 我还会接受其他方法来检测是否安装了Qt5

2 个答案:

答案 0 :(得分:4)

为了取消警告,可以使用QUIET关键字:

find_package(Qt5 COMPONENTS Core Xml Network QUIET)

答案 1 :(得分:0)

find_packageCONFIGMODULE个参数告诉cmake如何搜索包。

http://www.cmake.org/cmake/help/v3.0/command/find_package.html

http://www.cmake.org/cmake/help/v3.0/manual/cmake-packages.7.html

添加CONFIG关键字。