CMake

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) 判断字符串值是否相等 

原文地址:https://www.cnblogs.com/chaikefusibushiji/p/7475572.html