您的位置:首页 > 其它

Cmake中的find_package功能

2014-11-25 19:21 323 查看
find_package其实在windows下扮演的角色并不是很重要。在Unix下就非常重要了,find_package可以根据cmake内置的.cmake的脚本去找相应的库的模块,当然,内建了很多库的模块变量,调用了find_package之后,会有相应的变量“生成”有效。

比如调用了find_package(Qt5Widgets),find_package(Qt4 COMPONENTS QTCORE QTGUI QTOPENGL QTSVG)返回之后

就会有变量Qt5Widgets_FOUND,Qt5Widgets_INCLUDE_DIRS相应的变量生效。

然后就可以在CMakeLists.txt里面使用上述的变量了。类似如下:

INCLUDE_DIRECTORIES(${QT_INCLUDES})
INCLUDE_DIRECTORIES(${Qt5Widgets_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${Qt5Svg_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${Qt5OpenGL_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${Qt5Concurrent_INCLUDE_DIRS})


if(Qt5Widgets_FOUND)

message(STATUS ${Qt5Widgets_INCLUDE_DIRS})
#qt5
else()
find_package(Qt4 REQUIRED)  #qt4
include(${QT_USE_FILE})
endif()


references:
http://qt-project.org/doc/qt-5/cmake-manual.html http://blog.csdn.net/bowater/article/details/2477227 http://www.kdab.com/using-cmake-with-qt-5/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: