Cmake中的find_package功能


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里面使用上述的變量了。類似如下:

1 INCLUDE_DIRECTORIES(${QT_INCLUDES})
2 INCLUDE_DIRECTORIES(${Qt5Widgets_INCLUDE_DIRS})
3 INCLUDE_DIRECTORIES(${Qt5Svg_INCLUDE_DIRS})
4 INCLUDE_DIRECTORIES(${Qt5OpenGL_INCLUDE_DIRS})
5 INCLUDE_DIRECTORIES(${Qt5Concurrent_INCLUDE_DIRS})
1 if(Qt5Widgets_FOUND)
2 
3 
4 message(STATUS ${Qt5Widgets_INCLUDE_DIRS})
5    #qt5
6 else()
7  find_package(Qt4 REQUIRED)  #qt4
8  include(${QT_USE_FILE})
9 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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM