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里面使用上述的变量了。类似如下:
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/
比如调用了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/
相关文章推荐
- CMake中find_package功能演示
- CMake中find_package功能演示
- Cmake中的find_package功能
- CMake中find_package功能演示
- cmake:善用find_package()提高效率暨查找JNI支持
- Boost 的编译(交叉)安装 & cmake find_package(Boost)
- 使用cmake find_package找不到opencv
- find_package与CMake如何查找链接库详解
- cmake - FIND_PACKAGE和INCLUDE
- find_package()的查找*.cmake的顺序
- CMake find_package for OpenCV
- Cmake environmental variables: how to make find_package, find_path and find_library work
- cmake cannot find package
- 【学习cmke】find_package与CMake如何查找链接库详解
- find_package与CMake如何查找链接库详解
- cmake常用指令-1 find_package与CMake如何查找链接库详解
- cmake find_package
- cmake 3.5:find_package(HDF5) 指定HDF5_ROOT无效问题
- find_package与CMake如何查找链接库详解
- CMake如何查找链接库---find_package的使用方法