CMake
find_package搜索路径的顺序为:
- 首先cmake自身的环境变量
CMAKE_PREFIX_PATH
,CMAKE_FRAMEWORK_PATH
,CMAKE_APPBUNDLE_PATH
- 然后是系统环境变量:
<package>_DIR
,CMAKE_PREFIX_PATH
,CMAKE_FRAMEWORK_PATH
,CMAKE_APPBUNDLE_PATH
. - 接着是CMake配置过程中参数
HINTS
的设置. - 最后是环境变量
PATH
,其他的就是你自己设置的变量了。
以QT为例,设置QT cmake路径的时候,需要考虑到其版本,QT4是QTDIR,QT5则是Qt5_DIR,
set(CMAKE_PREFIX_PATH "$ENV{QTDIR}")
find_package(Qt5 HINTS "$ENV{QTDIR}" COMPONENTS Core Quick REQUIRED)
虽说Qt5也可以用QTDIR,但是你同时安装了QT多