cmake命令集合

2021-08-20 10:06:33 字數 4139 閱讀 8619

1)project 命令

命令語法:project([languagename1 languagename2 … ] )

命令簡述:用於指定專案的名稱

使用範例:project(main)

2)cmake_minimum_required命令

命令語法:cmake_minimum_required(version major[.minor[.patch[.tweak]]][fatal_error])

命令簡述:用於指定需要的 cmake 的最低版本

使用範例:cmake_minimum_required(version 2.8)

3)aux_source_directory命令

命令語法:aux_source_directory()

命令簡述:用於將 dir 目錄下的所有原始檔的名字儲存在變數 variable 中

使用範例:aux_source_directory(. dir_srcs)

4)add_executable 命令

命令語法:add_executable([win32] [macosx_bundle][exclude_from_all] source1 source2 … sourcen)

命令簡述:用於指定從一組原始檔 source1 source2 … sourcen 編譯出乙個可執行檔案且命名為 name

使用範例:add_executable(main $)

5)add_library 命令

命令語法:add_library([static | shared | module] [exclude_from_all] source1source2 … sourcen)

命令簡述:用於指定從一組原始檔 source1 source2 … sourcen 編譯出乙個庫檔案且命名為 name

使用範例:add_library(lib $)

6)add_dependencies 命令

命令語法:add_dependencies(target-name depend-target1 depend-target2 …)

命令簡述:用於指定某個目標(可執行檔案或者庫檔案)依賴於其他的目標。這裡的目標必須是 add_executable、add_library、add_custom_target 命令建立的目標

7)add_subdirectory 命令

命令語法:add_subdirectory(source_dir [binary_dir] [exclude_from_all])

命令簡述:用於新增乙個需要進行構建的子目錄

使用範例:add_subdirectory(lib)

8)target_link_libraries命令

命令語法:target_link_libraries([item1 [item2 […]]][[debug|optimized|general] ] …)

使用範例:target_link_libraries(main lib)

9)set 命令

命令語法:set([[cache [force]] | parent_scope])

命令簡述:用於設定變數 variable 的值為 value。如果指定了 cache 變數將被放入 cache(快取)中。

使用範例:set(projectname main)

10)unset 命令

命令語法:unset([cache])

命令簡述:用於移除變數 variable。如果指定了 cache 變數將被從 cache 中移除。

使用範例:unset(var cache)

11)message 命令

命令語法:message([status|warning|author_warning|fatal_error|send_error] 「message todisplay」…)

命令簡述:用於輸出資訊

使用範例:message(「hello world」)

12)include_directories 命令

命令語法:include_directories([after|before] [system] dir1 dir2 …)

命令簡述:用於設定目錄,這些設定的目錄將被編譯器用來查詢 include 檔案

使用範例:include_directories($/lib)

13)find_path 命令

命令語法:find_path(name1 [path1 path2 …])

命令簡述:用於查詢包含檔案 name1 的路徑,如果找到則將路徑儲存在 var 中(此路徑為乙個絕對路徑),如果沒有找到則結果為 -notfound。預設的情況下,var 會被儲存在 cache 中,這時候我們需要清除 var 才可以進行下一次查詢(使用 unset 命令)。

使用範例:

find_path(lua_include_path lua.h$)

if(not lua_include_path)

message(send_error "header file lua.h not found")

endif()

14)find_library 命令

命令語法:find_library(name1 [path1 path2 …])

命令簡述:用於查詢庫檔案 name1 的路徑,如果找到則將路徑儲存在 var 中(此路徑為乙個絕對路徑),如果沒有找到則結果為 -notfound。乙個類似的命令 link_directories 已經不太建議使用了

15)add_definitions 命令

命令語法:add_definitions(-dfoo -dbar …)

命令簡述:用於新增編譯器命令列標誌(選項),通常的情況下我們使用其來新增預處理器定義

使用範例:add_definitions(-d_unicode -dunicode)

16)execute_process 命令

命令語法:

execute_process(command [args1...]]

[command [args2...] [...]]

[working_directory]

[timeout ]

[result_variable]

[output_variable]

[error_variable]

[input_file ]

[output_file ]

[error_file ]

[output_quiet]

[error_quiet]

[output_strip_trailing_whitespace]

[error_strip_trailing_whitespace])

命令簡述:用於執行乙個或者多個外部命令。每乙個命令的標準輸出通過管道轉為下乙個命令的標準輸入。working_directory 用於指定外部命令的工作目錄,result_variable 用於指定乙個變數儲存外部命令執行的結果,這個結果可能是最後乙個執行的外部命令的退出碼或者是乙個描述錯誤條件的字串,output_variable 或者 error_variable 用於指定乙個變數儲存標準輸出或者標準錯誤,output_quiet 或者 error_quiet 用於忽略標準輸出和標準錯誤。

使用範例:execute_process(command ls)

18)file 命令

使用範例:

# 目錄的遍歷

# glob 用於產生乙個檔案(目錄)路徑列表並儲存在variable 中

# 檔案路徑列表中的每個檔案的檔名都能匹配globbing expressions(非正規表示式,但是類似)

# 如果指定了 relative 路徑,那麼返回的檔案路徑列表中的路徑為相對於 relative 的路徑

# file(glob variable [relative path][globbing expressions]...)

# 獲取當前目錄下的所有的檔案(目錄)的路徑並儲存到 all_file_path 變數中

file(glob all_file_path ./*)

# 獲取當前目錄下的 .h 檔案的檔名並儲存到all_h_file 變數中

# 這裡的變數cmake_current_list_dir 表示正在處理的 cmakelists.txt 檔案的所在的目錄的絕對路徑(2.8.3 以及以後版本才支援)

file(glob all_h_file relative$ $/*.h)

mysql命令集合

測試環境 mysql 5.0.45 注 可以在mysql中通過mysql select version 來檢視資料庫版本 整理 leo 一 連線mysql。格式 mysql h主機位址 u使用者名稱 p使用者密碼 1 連線到本機上的mysql。首先開啟dos視窗,然後進入目錄mysql bin,再鍵...

Android ADB linux命令集合

a.用adb區域網功能連線裝置 1,先用usb連線執行adb命令,將連線方式改為tcpip adb tcpip port為埠號 2,拔掉usb線,執行adb命令連線裝置 adb connect 裝置ip port 剛才設定的埠號 3,正常執行adb命令 adb的工作方式比較特殊採用監聽socket ...

yum命令集合

一 列舉包檔案 列出資源庫中所有可以安裝或更新的rpm包 yum list 列出資源庫中特定的可以安裝或更新以及已經安裝的rpm包 yum list perl 列出名為perl 的包 yum list perl 列出perl 開頭的包 列出資源庫中所有可以更新的rpm包 yum list updat...