国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

CMake Overview

2019-11-11 02:21:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Reference

CMake Tutorial

CMakeList.txt

對(duì)于每個(gè)PRoject,需要在目錄里有一個(gè)CMakeList.txt文件。

Command

這個(gè)文件由一系列的命令組成,每個(gè)命令的形式為:

command(args...)

command是命令的名字,不區(qū)分大小寫(xiě);args是命令的參數(shù),而各個(gè)參數(shù)以空格分割。——如果參數(shù)中包括空格,則用雙引號(hào)括起來(lái)。

按照這些命令在txt中出現(xiàn)的順序執(zhí)行。

變量

變量可以是字符串,也可以是字符串列表。

語(yǔ)法:

${VAR}

如果變量的值是多個(gè)參數(shù),則用set命令。比如下面的命令就是把 a b c 賦值給Foo這個(gè)變量:

set(Foo a b c)

此時(shí),command(${Foo}) 就等價(jià)于 command(a b c)。

如果要作為一個(gè)參數(shù)傳遞,則需要添加雙引號(hào)。如:command(“${Foo}”) 就等價(jià)于 command(“a b c”)。

環(huán)境變量

CMake可以直接引用環(huán)境變量:$ENV{VAR}

Hello World

一個(gè)c文件,生成可執(zhí)行文件

project(Hello)add_executable(Hello Hello.c)

如果要有多個(gè)c文件生成可執(zhí)行文件,則如下:

add_executable(Hello Hello.c File2.c File3.c File4.c)

注釋

“#”開(kāi)頭的一樣視為注釋。

運(yùn)行CMake

需要兩個(gè)目錄:

源代碼目錄:源代碼,以及CMakeList.txtbinary目錄:放生成的目標(biāo)文件、庫(kù)文件,以及可執(zhí)行文件。

通常情況下,CMake不會(huì)寫(xiě)任何文件到源代碼目錄中,而是生成在binary目錄中。——當(dāng)然,也可以把這兩個(gè)目錄設(shè)置為同一個(gè)目錄,即為insource build。對(duì)應(yīng)的就是out-of-source build。

in source build

直接cd到源代碼目錄,并運(yùn)行:

cmake .

out-of-source build

在binary目錄下面,執(zhí)行cmake命令,比如:

cmake ../src

cmake

$ cmake --helpUsage cmake [options] <path-to-source> cmake [options] <path-to-existing-build>Specify a source directory to (re-)generate a build system for it in thecurrent working directory. Specify an existing build directory tore-generate its build system.

靜態(tài)庫(kù)&可執(zhí)行文件

project(sha1test)add_library(sha1 STATIC sha1/sha1.c)add_executable(sha1test main.cpp)target_link_libraries(sha1test sha1)
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 翁牛特旗| 洪洞县| 龙岩市| 永城市| 清流县| 遂昌县| 邹城市| 漠河县| 武安市| 灵山县| 三原县| 高淳县| 霍山县| 珠海市| 军事| 瑞昌市| 清水县| 梁河县| 汕尾市| 清镇市| 昭苏县| 资阳市| 芮城县| 丽水市| 万全县| 玉溪市| 土默特右旗| 阳西县| 新津县| 湾仔区| 南澳县| 儋州市| 平度市| 高淳县| 大荔县| 周至县| 海晏县| 威海市| 苗栗县| 个旧市| 虹口区|