cmake
概要
# 生成構(gòu)建系統(tǒng)
cmake [<options>] <path-to-source>
cmake [<options>] <path-to-existing-build>
cmake [<options>] -S <path-to-source> -B <path-to-build
# 構(gòu)建項(xiàng)目
cmake --build <dir> [<options>] [-- <build-tool-options>]
# 安裝項(xiàng)目
cmake --install <dir> [<options>]
# 打開項(xiàng)目
cmake --open <dir>
# 運(yùn)行腳本
cmake [{-D <var>=<value>}...] -P <cmake-script-file>
# 運(yùn)行內(nèi)建命令
cmake -E <command> [<options>]
# 運(yùn)行Find-Package工具
cmake --find-package [<options>]
# 查看幫助
cmake --help[-<topic>]
描述
cmake是CMake提供的命令行工具久妆。上面的概要列出了這個(gè)工具的許多用法,將會(huì)在后面詳細(xì)描述。
為了構(gòu)建一個(gè)軟件項(xiàng)目,需先使用cmake生成構(gòu)建系統(tǒng)腮出。然后使用cmake構(gòu)建項(xiàng)目、安裝項(xiàng)目芝薇,或直接運(yùn)行相應(yīng)的構(gòu)建工具胚嘲。
其他的用法是提供給CMake構(gòu)建腳本的編寫者使用的。
cmake的圖形用戶界面洛二,請查看ccmake和cmake-gui馋劈。CMake的命令行測試、打包工具:ctest和cpack晾嘶。
想要查看CMake的更多信息妓雾,請翻到文檔底部的鏈接列表。
CMake構(gòu)建系統(tǒng)介紹
構(gòu)建系統(tǒng)使用構(gòu)建工具把項(xiàng)目的源代碼自動(dòng)地生成可執(zhí)行文件和庫垒迂。例如械姻,一個(gè)構(gòu)建系統(tǒng)可以是一個(gè)用于make命令的Makefile
,或IDE中的項(xiàng)目文件机断。為了避免面對多種構(gòu)建系統(tǒng)楷拳,CMake項(xiàng)目通過CMake語言文件實(shí)現(xiàn)構(gòu)建系統(tǒng)的抽象。通過這些文件吏奸,CMake為不同后端生成本地構(gòu)建系統(tǒng)欢揖。
使用CMake生成一個(gè)構(gòu)建系統(tǒng),以下部分必須指定:
-
源碼根目錄(Source Tree)
項(xiàng)目源碼的頂層目錄奋蔚。項(xiàng)目的構(gòu)建文件通過CMake語言來編寫她混,入口構(gòu)建文件命名為“CMakeLists.txt”。這些構(gòu)建文件中指定了需要構(gòu)建的目標(biāo)和他們的依賴關(guān)系旺拉,就像
cmake-buildsystem(7)
手冊描述的那樣产上。 -
構(gòu)建根目錄 (Build Tree)
用于保存構(gòu)建系統(tǒng)產(chǎn)生的文件以及產(chǎn)物(如可執(zhí)行程序和庫)的頂層目錄。CMake將會(huì)寫入一個(gè)“CMakeCache.txt"文件到該目錄蛾狗,以便以后識(shí)別該目錄為一個(gè)構(gòu)建根目錄晋涣。也會(huì)在該目錄下保存一些信息比如構(gòu)建配置項(xiàng)。
為了保持一個(gè)未侵入的源碼目錄沉桌,應(yīng)該在源碼目錄之外的建立一個(gè)專有的目錄作為構(gòu)建根目錄執(zhí)行構(gòu)建谢鹊。在源碼目錄內(nèi)建立構(gòu)建根目錄執(zhí)行構(gòu)建也支持,但應(yīng)該避免這么做留凭。
-
生成器
用于指定目標(biāo)構(gòu)建系統(tǒng)的類型佃扼。查看
cmake-generators(7)
手冊獲取所有生成器的文檔。運(yùn)行”cmake --help“查看本地可用的生成器列表蔼夜。使用-G選項(xiàng)可以指定一個(gè)生成器兼耀,或者不指定-G,直接讓CMake基于當(dāng)前平臺(tái)選擇一個(gè)默認(rèn)的生成器。當(dāng)選擇一個(gè)“命令行構(gòu)建工具生成器”時(shí)瘤运,CMake假設(shè)編譯工具鏈需要的環(huán)境已經(jīng)在shell中配置完成窍霞。當(dāng)選擇“IDE構(gòu)建工具生成器”時(shí),不需要特殊的環(huán)境拯坟。
生成構(gòu)建系統(tǒng)
運(yùn)行CMake但金,在下面的方法中選擇一個(gè)指定源碼根目錄和構(gòu)建根目錄,生成一個(gè)構(gòu)建系統(tǒng):
-
cmake [<options>] <path-to-source>
使用當(dāng)前目錄作為構(gòu)建根目錄郁季,使用<path-to-source>作為源碼根目錄冷溃,可以是絕對路徑或相對路徑。源碼根目錄中必須有一個(gè)CMakeLists.txt文件梦裂,且必須沒有CMakeCache.txt文件似枕,因?yàn)檫@個(gè)文件將用于標(biāo)識(shí)一個(gè)目錄是否曾作為構(gòu)建根目錄。例:
$ mkdir build ; cd build $ cmake ../src
-
cmake [<options>] <path-to-existing-build>
使用<path-to-existing-build>作為構(gòu)建根目錄塞琼,該目錄必須之前已經(jīng)用CMake執(zhí)行過生成菠净,可以為絕對路徑或相對路徑,CMake通過加載其中的CMakeCache.txt文件可找到源碼根目錄彪杉。例:
$ cd build $ cmake .
-
cmake [<options>] -S <path-to-source> -B <path-to-build>
使用<path-to-build>作為構(gòu)建根目錄毅往,使用<path-to-source>作為源碼根目錄∨山可以為絕對路徑或相對路徑攀唯。源碼根目錄中必須有一個(gè)CMakeLists.txt,構(gòu)建根目錄如果不存在將會(huì)自動(dòng)創(chuàng)建渴丸。例:
$ cmake -S src -B build
在所有這些方法中侯嘀,<options>可以不指定或者使用后面即將列出的選項(xiàng)。
在生成構(gòu)建系統(tǒng)之后谱轨,可以使用對應(yīng)的原生構(gòu)建工具構(gòu)建項(xiàng)目戒幔。例如,在使用“Unix Makefiles生成器”生成構(gòu)建系統(tǒng)之后土童,可以直接運(yùn)行make
:
$ make
$ make install
或者诗茎,可以使用cmake
來構(gòu)建項(xiàng)目,讓cmake自動(dòng)選擇合適的原生構(gòu)建工具献汗。
Options
-
-S <path-to-source>
CMake項(xiàng)目源碼根目錄敢订。
-
-B <path-to-build>
CMake以這個(gè)目錄作為構(gòu)建根目錄。如果目錄不存在將創(chuàng)建罢吃。
-
-C <initial-cache>
Pre-load a script to populate the cache.
When CMake is first run in an empty build tree, it creates a
CMakeCache.txt
file and populates it with customizable settings for the project. This option may be used to specify a file from which to load cache entries before the first pass through the project’s CMake listfiles. The loaded entries take priority over the project’s default values. The given file should be a CMake script containingset()
commands that use theCACHE
option, not a cache-format file.References to
CMAKE_SOURCE_DIR
andCMAKE_BINARY_DIR
within the script evaluate to the top-level source and build tree. -
-D <var>:<type>=<value>, -D <var>=<value>
Create or update a CMake
CACHE
entry.When CMake is first run in an empty build tree, it creates a
CMakeCache.txt
file and populates it with customizable settings for the project. This option may be used to specify a setting that takes priority over the project’s default value. The option may be repeated for as manyCACHE
entries as desired.If the
:<type>
portion is given it must be one of the types specified by theset()
command documentation for itsCACHE
signature. If the:<type>
portion is omitted the entry will be created with no type if it does not exist with a type already. If a command in the project sets the type toPATH
orFILEPATH
then the<value>
will be converted to an absolute path.This option may also be given as a single argument:
-D<var>:<type>=<value>
or-D<var>=<value>
. -
-U <globbing_expr>
Remove matching entries from CMake
CACHE
.This option may be used to remove one or more variables from the
CMakeCache.txt
file, globbing expressions using*
and?
are supported. The option may be repeated for as manyCACHE
entries as desired.Use with care, you can make your
CMakeCache.txt
non-working. -
-G <generator-name>
指定一個(gè)構(gòu)建系統(tǒng)生成器楚午。
CMake支持一個(gè)平臺(tái)上的多個(gè)原生構(gòu)建系統(tǒng),生成器負(fù)責(zé)生成一個(gè)特定的構(gòu)建系統(tǒng)尿招。在
cmake-generators(7)
手冊中定義了一系列可用的生成器矾柜。如果沒有指定阱驾,CMake檢查
CMAKE_GENERATOR
環(huán)境變量來確定生成器。如果未設(shè)置該環(huán)境變量怪蔑,將使用內(nèi)建缺省選擇啊易。 -
-T <toolset-spec>
如果生成器支持指定工具集的話,通過本選項(xiàng)來指定饮睬。
有些CMake生成器支持指定工具集,通過指定工具集來告訴原生構(gòu)建系統(tǒng)如何選擇編譯器篮奄。查看
CMAKE_GENERATOR_TOOLSET
變量獲取詳情捆愁。 -
-A <platform-name>
如果生成器支持指定平臺(tái)名稱,通過本選項(xiàng)來指定窟却。
有些CMake生成器支持指定平臺(tái)名稱昼丑,通過指定平臺(tái)名稱來告訴原生構(gòu)建系統(tǒng)如何選擇編譯器或SDK。查看
CMAKE_GENERATOR_PLATFORM
變量獲取詳情夸赫。 -
-Wno-dev
關(guān)閉開發(fā)者警告菩帝。
這些警告是顯示給
CMakeLists.txt
編寫者的,本選項(xiàng)關(guān)閉這些警告的顯示茬腿。缺省情況下呼奢,也會(huì)關(guān)閉過時(shí)功能的警告。 -
-Wdev
打開開發(fā)者警告切平。
這些警告是顯示給
CMakeLists.txt
編寫者的握础,本選項(xiàng)打開這些警告的顯示。缺省情況下悴品,也會(huì)打開過時(shí)功能的警告禀综。 -
-Werror=dev
將開發(fā)者警告當(dāng)做錯(cuò)誤處理。
這些警告是顯示給
CMakeLists.txt
編寫者的苔严,本選項(xiàng)使得這些警告當(dāng)做錯(cuò)誤處理定枷。缺省情況下,也會(huì)把過時(shí)功能的警告視作錯(cuò)誤届氢。 -
-Wno-error=dev
不把開發(fā)者警告當(dāng)做錯(cuò)誤處理欠窒。
這些警告是顯示給
CMakeLists.txt
編寫者的,本選項(xiàng)使得這些警告不當(dāng)做錯(cuò)誤處理悼沈。缺省情況下贱迟,也會(huì)把過時(shí)功能的警告不視作錯(cuò)誤。 -
-Wdeprecated
啟用過時(shí)功能的警告絮供。
當(dāng)使用過時(shí)功能時(shí)衣吠,顯示警告。這個(gè)選項(xiàng)是給
CMakeLists.txt
編寫者使用的壤靶。 -
-Wno-deprecated
關(guān)閉過時(shí)功能的警告缚俏。
當(dāng)使用過時(shí)功能時(shí),不顯示警告。這個(gè)選項(xiàng)是給
CMakeLists.txt
編寫者使用的忧换。 -
-Werror=deprecated
將過時(shí)功能的警告視作錯(cuò)誤恬惯。
當(dāng)使用過時(shí)功能時(shí),作錯(cuò)誤處理亚茬。這個(gè)選項(xiàng)是給
CMakeLists.txt
編寫者使用的酪耳。 -
-Wno-error=deprecated
不把過時(shí)功能的警告當(dāng)做錯(cuò)誤處理。
當(dāng)使用過時(shí)功能時(shí)刹缝,不當(dāng)做錯(cuò)誤處理碗暗。這個(gè)選項(xiàng)是給
CMakeLists.txt
編寫者使用的。 -
-L[A][H]
列出非高級的緩存變量梢夯。
運(yùn)行CMake言疗,列出
CACHE
中未標(biāo)記為INTERNAL
和ADVANCED
的變量。用來快速顯示當(dāng)前的CMake設(shè)置颂砸。如果指定了A
噪奄,高級的變量也會(huì)顯示。如果指定了H
人乓,將會(huì)同時(shí)顯示每個(gè)變量的幫助信息勤篮。 -
-N
查看模式。
僅僅加載緩存撒蟀,并不是真正執(zhí)行配置和生成叙谨。
-
--graphviz=[file]
生成graphviz的依賴關(guān)系。查看
CMakeGraphVizOptions
獲取更多信息保屯。生成一個(gè)graphviz輸入文件手负,其中包含項(xiàng)目中所有庫和可執(zhí)行文件的依賴關(guān)系。查看
CMakeGraphVizOptions
獲取更多細(xì)節(jié)姑尺。 -
--system-information [file]
轉(zhuǎn)儲(chǔ)當(dāng)前構(gòu)建系統(tǒng)的信息竟终。
轉(zhuǎn)儲(chǔ)當(dāng)前構(gòu)建系統(tǒng)的各種信息。如果在構(gòu)建根目錄運(yùn)行切蟋,將會(huì)轉(zhuǎn)儲(chǔ)更多信息统捶,比如緩存、日志文件等柄粹。
-
--log-level=<ERROR|WARNING|NOTICE|STATUS|VERBOSE|DEBUG|TRACE>
設(shè)置日志級別喘鸟。
使得
message()
命令只會(huì)輸出日志級別高于或等于設(shè)置級別的日志。缺省的日志級別是STATUS
驻右。為了提供向后兼容性什黑,
--loglevel
選項(xiàng)作為本選項(xiàng)的同義詞。 -
--debug-trycompile
Do not delete the
try_compile()
build tree. Only useful on onetry_compile()
at a time.Do not delete the files and directories created for
try_compile()
calls. This is useful in debugging failed try_compiles. It may however change the results of the try-compiles as old junk from a previous try-compile may cause a different test to either pass or fail incorrectly. This option is best used for one try-compile at a time, and only when debugging. -
--debug-output
以debug模式運(yùn)行cmake堪夭。
在cmake運(yùn)行過程中會(huì)打印更多信息愕把,比如調(diào)用
message(SEND_ERROR)
時(shí)打印堆椉鸢迹回溯。 -
--trace
以trace模式運(yùn)行cmake恨豁。
打印所有的調(diào)用的位置嚣镜。
-
--trace-expand
以trace模式運(yùn)行cmake。
同
--trace
橘蜜,但增加了變量相關(guān)的信息菊匿。 -
--trace-source=<file>
以trace模式運(yùn)行cmake,但僅對指定的文件啟用计福。
可以多次使用本選項(xiàng)指定多個(gè)文件捧请。
-
--trace-redirect=<file>
Put cmake in trace mode and redirect trace output to a file instead of stderr.
-
--warn-uninitialized
對未初始化的變量顯示警告。
當(dāng)使用未初始化的變量的時(shí)候棒搜,打印警告。
-
--warn-unused-vars
對未使用的變量顯示警告活箕。
如果定義或設(shè)置了變量之后沒有使用力麸,打印警告。
-
--no-warn-unused-cli
Don’t warn about command line options.
Don’t find variables that are declared on the command line, but not used.
-
--check-system-vars
Find problems with variable usage in system files.
Normally, unused and uninitialized variables are searched for only in
CMAKE_SOURCE_DIR
andCMAKE_BINARY_DIR
. This flag tells CMake to warn about other files as well.
構(gòu)建項(xiàng)目
cmake提供了以下格式的命令構(gòu)建一個(gè)項(xiàng)目:
cmake --build <dir> [<options>] [-- <build-tool-options>]
這個(gè)命令行對原生構(gòu)建工具的命令進(jìn)行了抽象育韩,提供以下選項(xiàng):
-
--build <dir>
需要執(zhí)行構(gòu)建的根目錄克蚂,這是必須指定的,而且必須寫在最前面筋讨。
-
--parallel [<jobs>], -j [<jobs>]
執(zhí)行構(gòu)建時(shí)使用的并發(fā)數(shù)埃叭。如果沒有指定jobs,將由原生構(gòu)建系統(tǒng)決定缺省并發(fā)數(shù)悉罕。
當(dāng)沒有指定并發(fā)數(shù)的時(shí)候赤屋,如果設(shè)置了
CMAKE_BUILD_PARALLEL_LEVEL
環(huán)境變量,將使用環(huán)境變量作為并發(fā)數(shù)壁袄。有些原生構(gòu)建工具總是使用并發(fā)構(gòu)建类早,設(shè)置
<jobs>
為1可以限制為一個(gè)并發(fā)。 -
--target <tgt>..., -t <tgt>...
指定要構(gòu)建的目標(biāo)嗜逻,可以多次使用該選項(xiàng)指定多個(gè)構(gòu)建目標(biāo)涩僻。
-
--config <cfg>
For multi-configuration tools, choose configuration
<cfg>
. -
--clean-first
在構(gòu)建目標(biāo)之前,先執(zhí)行
clean
操作栈顷。如果只想執(zhí)行clean操作逆日,使用--target clean
。 -
--use-stderr
忽略本選項(xiàng)萄凤,在CMake >= 3.0情況下是缺省行為室抽。
-
--verbose, -v
開啟啰嗦模式(如果支持的話),包括執(zhí)行構(gòu)建命令時(shí)也開啟啰嗦模式蛙卤。
如果設(shè)置了
VERBOSE
環(huán)境變量或者CMAKE_VERBOSE_MAKEFILE
緩存變量狠半,就不再需要指定這個(gè)選項(xiàng)了噩死。 -
--
傳遞后續(xù)的參數(shù)到原生工具。
不帶任何參數(shù)運(yùn)行cmake --build
神年,可用來獲取幫助已维。
安裝項(xiàng)目
cmake提供以下格式的命令安裝一個(gè)已完成的構(gòu)建:
cmake --install <dir> [<options>]
在執(zhí)行完構(gòu)建后,可以執(zhí)行本操作執(zhí)行安裝已日。安裝操作不會(huì)再使用構(gòu)建系統(tǒng)和原生構(gòu)建工具垛耳。可以使用的選項(xiàng)有:
-
--install <dir>
指定要安裝的構(gòu)建根目錄飘千。這個(gè)必須指定堂鲜,而且必須寫在前面。
-
--config <cfg>
For multi-configuration generators, choose configuration
<cfg>
. -
--component <comp>
僅安裝指定的組件护奈。
-
--prefix <prefix>
使用指定的值作為安裝目錄缔莲,覆蓋
CMAKE_INSTALL_PREFIX
的值。 -
--strip
在執(zhí)行安裝之前執(zhí)行strip操作霉旗。
-
-v, --verbose
開啟啰嗦模式痴奏。
如果設(shè)置了
VERBOSE
環(huán)境變量,就不再需要指定本選項(xiàng)了厌秒。
不帶任何參數(shù)運(yùn)行cmake --install
读拆,可以用來獲取幫助。
打開項(xiàng)目
cmake --open <dir>
使用相關(guān)的應(yīng)用程序打開已生成的項(xiàng)目鸵闪。只有某些生成器支持這個(gè)操作檐晕。
運(yùn)行腳本
cmake [{-D <var>=<value>}...] -P <cmake-script-file>
執(zhí)行一個(gè)CMake語言編寫的腳本。不會(huì)執(zhí)行任何配置或生成操作蚌讼,緩存文件也不會(huì)被修改辟灰。如果需要指定-D選項(xiàng),必須在-P之前指定篡石。
運(yùn)行內(nèi)建命令
cmake提供以下格式的命令行來執(zhí)行內(nèi)建命令:
cmake -E <command> [<options>]
運(yùn)行make -E
或cmake -E help
可查看命令列表伞矩。可以使用的命令有:
-
capabilities
以JSON格式報(bào)告CMake的能力夏志,輸出的JSON包含以下鍵:
-
version
一個(gè)包含版本信息的JSON對象乃坤,包含鍵:
-
string
一個(gè)完整的版本信息,和通過
cmake --version
顯示的一樣沟蔑。 -
major
主版本號湿诊,一個(gè)整數(shù)。
-
minor
副版本號瘦材,一個(gè)整數(shù)厅须。
-
patch
修訂號,一個(gè)整數(shù)食棕。
-
suffix
cmake版本的后綴朗和,字符串错沽。
-
isDirty
標(biāo)識(shí)cmake是否從一個(gè)dirty tree構(gòu)建的布爾值。
-
-
generators
一個(gè)可用生成器列表眶拉。每個(gè)生成器是一個(gè)JSON對象千埃,包含以下鍵:
-
name
生成器名稱字符串。
-
toolsetSupport
值為true如果生成器支持工具集忆植,否則false放可。
-
platformSupport
值為true如果生成器支持platforms,否則false朝刊。
-
extraGenerators
能夠兼容本生成器的其他生成器的列表耀里。
-
-
fileApi
Optional member that is present when the
cmake-file-api(7)
is available. The value is a JSON object with one member:-
requests
A JSON array containing zero or more supported file-api requests. Each request is a JSON object with members:
-
kind
Specifies one of the supported Object Kinds.
-
version
A JSON array whose elements are each a JSON object containing
major
andminor
members specifying non-negative integer version components.
-
-
-
serverMode
值為true如果cmake支持server-mode,否則false拾氓。
-
-
chdir <dir> <cmd> [<arg>...]
Change the current working directory and run a command.
-
compare_files [--ignore-eol] <file1> <file2>
比較文件冯挎。如果文件相同返回0,否則1咙鞍。
--ignore-eol
選項(xiàng)指定在比較時(shí)忽略行LF/CRLF的區(qū)別织堂。 -
copy <file>... <destination>
Copy files to
<destination>
(either file or directory). If multiple files are specified, the<destination>
must be directory and it must exist. Wildcards are not supported.copy
does follow symlinks. That means it does not copy symlinks, but the files or directories it point to. -
copy_directory <dir>... <destination>
Copy content of
<dir>...
directories to<destination>
directory. If<destination>
directory does not exist it will be created.copy_directory
does follow symlinks. -
copy_if_different <file>... <destination>
Copy files to
<destination>
(either file or directory) if they have changed. If multiple files are specified, the<destination>
must be directory and it must exist.copy_if_different
does follow symlinks. -
create_symlink <old> <new>
創(chuàng)建一個(gè)符號鏈接
<new>
,鏈接到<old>
奶陈。Note Path to where <new> symbolic link will be created has to exist beforehand.
-
echo [<string>...]
以文本方式輸出參數(shù)。
-
echo_append [<\string>...]
以文本方式輸出參數(shù)附较,但不另起一行吃粒。
-
env [--unset=NAME]... [NAME=VALUE]... COMMAND [ARG]...
Run command in a modified environment.
-
environment
打印當(dāng)前環(huán)境變量。
-
false
什么也不執(zhí)行拒课,僅僅返回1徐勃。
-
make_directory <dir>...
創(chuàng)建目錄
<dir>
,如果需要的話早像,同時(shí)創(chuàng)建父目錄僻肖。如果目錄已存在的話,它靜靜的不執(zhí)行任何操作卢鹦。 -
md5sum <file>...
計(jì)算文件的的MD5校驗(yàn)和臀脏,以
md5sum
兼容格式:351abe79cd3800b38cdfb25d45015a15 file1.txt 052f86c15bbde68af55c7f7b340ab639 file2.txt
-
sha1sum <file>...
計(jì)算文件的的SHA1校驗(yàn)和,以
sha1sum
兼容格式:4bb7932a29e6f73c97bb9272f2bdc393122f86e0 file1.txt 1df4c8f318665f9a5f2ed38f55adadb7ef9f559c file2.txt
-
sha224sum <file>...
Create SHA224 checksum of files in
sha224sum
compatible format:b9b9346bc8437bbda630b0b7ddfc5ea9ca157546dbbf4c613192f930 file1.txt 6dfbe55f4d2edc5fe5c9197bca51ceaaf824e48eba0cc453088aee24 file2.txt
-
sha256sum <file>...
Create SHA256 checksum of files in
sha256sum
compatible format:76713b23615d31680afeb0e9efe94d47d3d4229191198bb46d7485f9cb191acc file1.txt 15b682ead6c12dedb1baf91231e1e89cfc7974b3787c1e2e01b986bffadae0ea file2.txt
-
sha384sum <file>...
Create SHA384 checksum of files in
sha384sum
compatible format:acc049fedc091a22f5f2ce39a43b9057fd93c910e9afd76a6411a28a8f2b8a12c73d7129e292f94fc0329c309df49434 file1.txt 668ddeb108710d271ee21c0f3acbd6a7517e2b78f9181c6a2ff3b8943af92b0195dcb7cce48aa3e17893173c0a39e23d
-
sha512sum <file>...
Create SHA512 checksum of files in
sha512sum
compatible format:2a78d7a6c5328cfb1467c63beac8ff21794213901eaadafd48e7800289afbc08e5fb3e86aa31116c945ee3d7bf2a6194489ec6101051083d1108defc8e1dba89 file1.txt 7a0b54896fe5e70cca6dd643ad6f672614b189bf26f8153061c4d219474b05dad08c4e729af9f4b009f1a1a280cb625454bf587c690f4617c27e3aebdf3b7a2d file2.txt
-
remove [-f] <file>...
Remove the file(s). If any of the listed files already do not exist, the command returns a non-zero exit code, but no message is logged. The
-f
option changes the behavior to return a zero exit code (i.e. success) in such situations instead.remove
does not follow symlinks. That means it remove only symlinks and not files it point to. -
remove_directory <dir>...
Remove
<dir>
directories and their contents. If a directory does not exist it will be silently ignored. If<dir>
is a symlink to a directory, just the symlink will be removed. -
rename <oldname> <newname>
Rename a file or directory (on one volume). If file with the
<newname>
name already exists, then it will be silently replaced. -
server
Launch
cmake-server(7)
mode. -
sleep <number>...
Sleep for given number of seconds.
-
tar [cxt][vf][zjJ] file.tar [<options>] [--] [<pathname>...]
Create or extract a tar or zip archive. Options are:
-
c
Create a new archive containing the specified files. If used, the
<pathname>...
argument is mandatory. -
x
Extract to disk from the archive. The ``<pathname>...
argument could be used to extract only selected files or directories. When extracting selected files or directories, you must provide their exact names including the path, as printed by list (
-t`). -
t
List archive contents. The
<pathname>...
argument could be used to list only selected files or directories. -
v
Produce verbose output.
-
z
Compress the resulting archive with gzip.
-
j
Compress the resulting archive with bzip2.
-
J
Compress the resulting archive with XZ.
-
--zstd
Compress the resulting archive with Zstandard.
-
--files-from=<file>
Read file names from the given file, one per line. Blank lines are ignored. Lines may not start in
-
except for--add-file=<name>
to add files whose names start in-
. -
--format=<format>
Specify the format of the archive to be created. Supported formats are:
7zip
,gnutar
,pax
,paxr
(restricted pax, default), andzip
. -
--mtime=<date>
Specify modification time recorded in tarball entries.
-
--
Stop interpreting options and treat all remaining arguments as file names, even if they start with
-
.
-
-
time <command> [<args>...]
運(yùn)行命令并顯示持續(xù)的時(shí)間冀自。
-
touch <file>...
Creates
<file>
if file do not exist. If<file>
exists, it is changing<file>
access and modification times. -
touch_nocreate <file>...
Touch a file if it exists but do not create it. If a file does not exist it will be silently ignored.
-
true
Do nothing, with an exit code of 0.
運(yùn)行Find-Package工具
CMake為查找基于Makefile的項(xiàng)目提供了pkg-config風(fēng)格的幫助工具:
cmake --find-package [<options>]
它使用find_package()
搜索一個(gè)package揉稚,然后把結(jié)果打印到標(biāo)準(zhǔn)輸出。它可以被用于代替pkg-config來查找已安裝的基于Makefile或autoconf的庫熬粗。
Note: 因?yàn)槟承┘夹g(shù)方面的原因搀玖,這個(gè)工具還沒有支持得很好。為了兼容性考慮而保留了這個(gè)工具驻呐,但在新項(xiàng)目中不要使用它灌诅。
查看幫助
使用下面格式的命令打印CMake文檔的指定內(nèi)容:
cmake --help[-<topic>]
可使用以下的參數(shù):
-
--help,-help,-usage,-h,-H,/?
打印文檔然后退出芳来。
usage僅描述基本的命令行接口和參數(shù)。
-
--version,-version,/V [<f>]
打印cmake程序版本然后退出猜拾。
如果指定了一個(gè)文件即舌,版本將寫入這個(gè)文件。如果指定了
<f>
关带,幫助信息將寫入其中侥涵。 -
--help-full [<f>]
打印全部幫助手冊然后退出。
將會(huì)以文本形式打印宋雏。如果指定了
<f>
芜飘,幫助信息將寫入其中。 -
--help-manual <man> [<f>]
打印指定的幫助手冊然后退出磨总。
指定的手冊將會(huì)以文本形式打印嗦明。如果指定了
<f>
,幫助信息將寫入其中蚪燕。 -
--help-manual-list [<f>]
打印手冊列表然后退出娶牌。
列出的手冊可以用作
--help-manual
的選項(xiàng)。如果指定了<f>
馆纳,幫助信息將寫入其中诗良。 -
--help-command <cmd> [<f>]
打印指定命令的幫助然后退出。
cmake-commands
手冊中的<cmd>
部分將會(huì)以文本形式打印鲁驶。如果指定了<f>
鉴裹,幫助信息將寫入其中。 -
--help-command-list [<f>]
打印命令列表然后退出钥弯。
列出的命令可以用作
--help-command
的選項(xiàng)径荔。如果指定了<f>
,幫助信息將寫入其中脆霎。 -
--help-commands [<f>]
打印cmake命令手冊然后退出总处。
將會(huì)以文本形式打印
cmake-commands
手冊。如果指定了<f>
睛蛛,幫助信息將寫入其中鹦马。 -
--help-module <mod> [<f>]
打印指定模塊的幫助信息然后退出。
cmake-modules
手冊中的<mod>
部分將會(huì)以文本形式打印忆肾。如果指定了<f>
菠红,幫助信息將寫入其中。 -
--help-module-list [<f>]
打印模塊列表然后退出难菌。
列出的模塊可以用作
--help-module
的選項(xiàng)试溯。如果指定了<f>
,幫助信息將寫入其中郊酒。 -
--help-modules [<f>]
打印cmake-modules手冊然后退出遇绞。
將會(huì)以文本形式打印
cmake-modules
手冊键袱。如果指定了<f>
,幫助信息將寫入其中摹闽。 -
--help-policy <cmp> [<f>]
打印指定的policy幫助然后退出蹄咖。
cmake-policies
手冊中的<cmp>
將會(huì)以文本形式打印。如果指定了<f>
付鹿,幫助信息將寫入其中澜汤。 -
--help-policy-list [<f>]
List policies with help available and exit.
The list contains all policies for which help may be obtained by using the
--help-policy
option followed by a policy name. The help is printed to a named <f>ile if given. -
--help-policies [<f>]
Print cmake-policies manual and exit.
The
cmake-policies(7)
manual is printed in a human-readable text format. The help is printed to a named <f>ile if given. -
--help-property <prop> [<f>]
Print help for one property and exit.
The
cmake-properties(7)
manual entries for<prop>
are printed in a human-readable text format. The help is printed to a named <f>ile if given. -
--help-property-list [<f>]
List properties with help available and exit.
The list contains all properties for which help may be obtained by using the
--help-property
option followed by a property name. The help is printed to a named <f>ile if given. -
--help-properties [<f>]
Print cmake-properties manual and exit.
The
cmake-properties(7)
manual is printed in a human-readable text format. The help is printed to a named <f>ile if given. -
--help-variable <var> [<f>]
Print help for one variable and exit.
The
cmake-variables(7)
manual entry for<var>
is printed in a human-readable text format. The help is printed to a named <f>ile if given. -
--help-variable-list [<f>]
List variables with help available and exit.
The list contains all variables for which help may be obtained by using the
--help-variable
option followed by a variable name. The help is printed to a named <f>ile if given. -
--help-variables [<f>]
Print cmake-variables manual and exit.
The
cmake-variables(7)
manual is printed in a human-readable text format. The help is printed to a named <f>ile if given.
參閱
在使用CMake的時(shí)候可通過以下資源獲取幫助:
-
主頁
CMake學(xué)習(xí)的重要起點(diǎn)。
-
在線文檔和社區(qū)資源
https://cmake.org/documentation
在這個(gè)頁面可以找到文檔和社區(qū)資源舵匾。
-
論壇