如何在OS X上的CMake文件中检测Qt5 core的位置?
我正在使用CMake在OS X上构建一个Qt5项目。我需要创建一个对其他人来说尽可能简单的构建过程 默认情况下,Qt5安装到OS X上的主文件夹中。但是,它会将其文件放置在以确切版本号命名的目录中,例如5.2.1 目前,我正在CMake文件中使用以下行:如何在OS X上的CMake文件中检测Qt5 core的位置?,cmake,qt5,Cmake,Qt5,我正在使用CMake在OS X上构建一个Qt5项目。我需要创建一个对其他人来说尽可能简单的构建过程 默认情况下,Qt5安装到OS X上的主文件夹中。但是,它会将其文件放置在以确切版本号命名的目录中,例如5.2.1 目前,我正在CMake文件中使用以下行: set(QT5_PATH $ENV{HOME}/Qt5.2.1/5.2.1/clang_64/ CACHE PATH "Path to Qt5") set(QT5_MODULE_PATH ${QT5_PATH}/lib/cmake) set(C
set(QT5_PATH $ENV{HOME}/Qt5.2.1/5.2.1/clang_64/ CACHE PATH "Path to Qt5")
set(QT5_MODULE_PATH ${QT5_PATH}/lib/cmake)
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${QT5_MODULE_PATH})
这是可行的,但不幸的是,Qt的每次小更新都会中断,因为5.2.1
需要更改为5.2.2
,等等
在Windows中,有一些环境变量可用于查找Qt。在操作系统X中,我可以在CMake中使用类似的东西来查找Qt安装吗?使用
find_package
而不是自己处理路径。然后,您的用户可以依赖标准的CMake机制,而不必计算您自己的CMake代码
使用find_-package(Qt5Widgets)
获取像Qt::Widgets这样的目标,以链接到包含的内容。
类似于Qt5Core
和qt5的任何部分
请参阅Qt的文档:注意,您链接到的文档不建议使用Qt5Widgets\u INCLUDE\u DIRS
等,而是建议使用导入的目标,如Qt5::Widgets
。你也应该推荐:)@steveire你是对的,我加了一句相应的话。我应该说‘你应该推荐它’(这是文章推荐的,你也应该——而不是你应该另外推荐变量——这没有任何意义)。我认为没有理由鼓励任何人接受这些变量。使用导入的目标并忽略变量。