對(duì)于每個(gè)PRoject,需要在目錄里有一個(gè)CMakeList.txt文件。
這個(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”)。
CMake可以直接引用環(huán)境變量:$ENV{VAR}
如果要有多個(gè)c文件生成可執(zhí)行文件,則如下:
add_executable(Hello Hello.c File2.c File3.c File4.c)“#”開(kāi)頭的一樣視為注釋。
需要兩個(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。
直接cd到源代碼目錄,并運(yùn)行:
cmake .在binary目錄下面,執(zhí)行cmake命令,比如:
cmake ../src新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注