CMake全称Cross-Platform Makefile Generator
选项:
1. -D
格式:-D name=value
作用:给变量name赋值value,以在CMakeLists.txt中引用
命令:
1. cmake_minimum_required
功能:设置cmake的最低版本限制,若实际cmake版本低于此版本,执行结束且打印错误
示例:cmake_minimum_required(VERSION 2.6)
2. project
功能:设置整个项目的名称
示例:project(jovacct)
3. option
格式:option(name "descriptive string" value)
功能:
检查变量是否在命令行中定义过,如果定义过则将name重新设置为定义值,如果没有定义过则将name设为value
命令行定义变量即 cmake -D name=value
文件CMakeLists.txt中是否定义过变量,对option没有影响
示例:
4. message
格式:message([STATUS|WARNING|AUTHOR_WARNING|FATAL_ERROR|SEND_ERROR] "message to display" args)
功能:打印输出,根据级别的不同决定是否终止执行
示例:message("Build type: " ${CMAKE_BUILD_TYPE})
5. if
格式:if(expression) ... else(expresion) ... endif(expression)
说明:
◇ 若expression为常量
当值为1, ON, YES, TRUE, Y, 非0数字时,结果为true;
当值为0, OFF, NO, FALSE, N, IGNORE, NOTFOUND, 空字符串, 或以后缀'-NOTFOUND'结尾时,结果为false
如果参数不是上述常量值之一,则视为变量
◇ 若expression为变量,则只要变量值不是false常量中的一个,结果都为true,否则结果为false
示例:
if(var) 判断变量是否为true
if(NOT expression) 取反,表达式不为true则结果为true,否则结果为false
if(EXISTS file) 文件存在则为true,不存在则为false
if(DEFINED var) 变量过定义则为true,没有定义为false,无论变量值是true是false都不要紧
if(var STREQUAL "Debug") if(var1 STREQUAL var2) 判断字符串值是否相等