cmake常用命令

project(工程名)
#必需

set(变量名 路径)
#定义变量,在之后可以使用${变量名}来表示路径

file(GLOB 变量名 globbing表达式)
#会产生一个由所有匹配globbing表达式的文件组成的列表,并将其保存到变量中

file(GLOB_RECURSE 变量名 globbing表达式)
#与GLOB类似,区别在于会遍历匹配目录的所有文件以及子目录下面的文件

add_compile_options(编译选项)
#添加编译选项,如-g -std=c++17 -O2

include_directories(头文件路径)
#加入头文件搜索路径

link_directories(库文件基准路径)
#指定库文件基准路径,必须写在add_executable之前
#库文件是已经编译好的程序,使用库文件而不是源文件可以大大缩短编译时间
#库文件分为静态库和动态库。静态库在程序编译时被链接到目标代码中。
  #动态库(共享库)在程序编译时并不会被链接到目标代码中,而是在程序运行时才载入;
  #不同程序需要相同的库时,在内存中只需要有一份该共享库的拷贝,避免了空间浪费问题;
  #并且在运行时才会被载入,也解决了静态库对程序的更新,部署和发布带来的麻烦

add_executable(生成可执行文件名  要编译文件的路径1  要编译文件的路径2  ...)
#必需

target_link_libraries(生成可执行文件名  库文件路径)
#链接共享库,必须写在add_executable之后

你可能感兴趣的:(编译原理,cmake)