对于每个PRoject,需要在目录里有一个CMakeList.txt文件。
这个文件由一系列的命令组成,每个命令的形式为:
command(args...)command是命令的名字,不区分大小写;args是命令的参数,而各个参数以空格分割。——如果参数中包括空格,则用双引号括起来。
按照这些命令在txt中出现的顺序执行。
变量可以是字符串,也可以是字符串列表。
语法:
${VAR}如果变量的值是多个参数,则用set命令。比如下面的命令就是把 a b c 赋值给Foo这个变量:
set(Foo a b c)此时,command(${Foo}) 就等价于 command(a b c)。
如果要作为一个参数传递,则需要添加双引号。如:command(“${Foo}”) 就等价于 command(“a b c”)。
CMake可以直接引用环境变量:$ENV{VAR}
如果要有多个c文件生成可执行文件,则如下:
add_executable(Hello Hello.c File2.c File3.c File4.c)“#”开头的一样视为注释。
需要两个目录:
源代码目录:源代码,以及CMakeList.txtbinary目录:放生成的目标文件、库文件,以及可执行文件。通常情况下,CMake不会写任何文件到源代码目录中,而是生成在binary目录中。——当然,也可以把这两个目录设置为同一个目录,即为insource build。对应的就是out-of-source build。
直接cd到源代码目录,并运行:
cmake .在binary目录下面,执行cmake命令,比如:
cmake ../src新闻热点
疑难解答