Cmake中的find package功能

2022-03-24 09:22:23 字數 733 閱讀 9154

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($)

2include_directories($)

3include_directories($)

4include_directories($)

5 include_directories($)

1

if(qt5widgets_found)23

4message(status $)5#

qt56

else

()7 find_package(qt4 required) #

qt48

include($)

9 endif()

references:

cmake中巨集的使用

首先貼乙個例子進行分析 set var abc macro moo arg message arg set arg abc message after change the value of arg.message arg endmacro message call macro moo 這段使用cm...

CMAKE的學習筆記 初始CMAKE

cmake是乙個很強大的編譯工具 最近在看brpc,發現其中的編譯部分都是cmake來完成的,在囫圇吞棗編譯出第乙個demo後,我覺得自己該學習一下cmake了。1 及其簡單的例子 任何東西都是從hello world開始的,cmake也不例外,這裡就是乙個非常簡單的cmake 請注意,檔名必須是c...

CMake中函式引數問題

cmake中function函式的定義 function arg1 arg2 arg3 command1 args 命令語句 command2 args function 系統為我們提供了一些特殊的變數 變數說明 ar 是乙個下標,0指向第乙個引數,累加 ar 所有的定義時要求傳入的引數 argn ...