一:前言
实际上没什么前言,但是总感觉上来就讲指令有点尴尬。随便说点什么。
参考博客 感谢原作者的辛勤付出,写的非常好。
二:具体指令
1、PROJECT
语法: PROJECT(projectname [CXX] [C] [Java]
指令功能: 定义工程名称,指定工程支持的语言
例子: PROJECT (HELLO)
说明:
1. 一般支持语言列表会省略
2. 这里指定的是工程名,和生成的可执行文件的名不一定要一样的,二者没什么关系。
3. 该指令隐式的定义了两个cmake变量:projectname_BINARY_DIR 以及projectname_SOURCE_DIR,例子就是 HELLO_BINARY_DIR 和HELLO_SOURCE_DIR,分别表示构建路径和项目路径。这两个值和CMake的预定义变量PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR值是一样的,建议使用后者。
2、SET
语法: SET(VAR [VALUE] [CACHE TYPE DOCSTRING [FORCE]])
指令功能: 用来显式的定义变量
例子: SET (SRC_LST main.c other.c)