我正在尝试创建一个CMakeLists.txt
尝试 find的文件Qt5
,如果失败,则尝试回退到Qt4
安装。到目前为止,该脚本有效,但如果Qt5
未安装,我将始终收到警告。
请注意,FindQt5.cmake
由Qt5
提供,如果仅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
已安装。
为了抑制警告,QUIET
可以使用关键字:
find_package(Qt5 COMPONENTS Core Xml Network QUIET)
Run Code Online (Sandbox Code Playgroud)