cmake学习【if-else】

在CMake中,ifelseendif是用于条件判断的命令,允许你根据条件执行不同的指令块。以下是这些命令的用法以及一些示例说明:

1. 基本语法

if(condition)
    # 条件为真时执行的指令块
else()
    # 条件为假时执行的指令块
endif()
  • condition: 要判断的条件。

2. 示例:简单的条件判断

set(option_enabled TRUE)

if(option_enabled)
    message(STATUS "Option is enabled.")
else()
    message(STATUS "Option is disabled.")
endif()

3. 示例:使用变量进行条件判断

set(var_value 10)

if(${var_value} LESS 5)
    message(STATUS "Value is less than 5.")
else()
    message(STATUS "Value is greater than or equal to 5.")
endif()

4. 示例:逻辑操作符

set(flag1 TRUE)
set(flag2 FALSE)

if(flag1 AND flag2)
    message(STATUS "Both flags are true.")
elseif(flag1 OR flag2)
    message(STATUS "At least one flag is true.")
else()
    message(STATUS "Both flags are false.")
endif()

5. 示例:使用字符串比较

set(string1 "Hello")
set(string2 "World")

if(string1 STREQUAL string2)
    message(STATUS "Strings are equal.")
else()
    message(STATUS "Strings are not equal.")
endif()

6. 示例:使用NOT操作符

set(condition FALSE)

if(NOT condition)
    message(STATUS "Condition is not true.")
else()
    message(STATUS "Condition is true.")
endif()

7. 示例:嵌套的if语句

set(var1 TRUE)
set(var2 TRUE)

if(var1)
    if(var2)
        message(STATUS "Both var1 and var2 are true.")
    else()
        message(STATUS "Var1 is true, but var2 is false.")
    endif()
else()
    message(STATUS "Var1 is false.")
endif()

这些示例覆盖了一些基本的条件判断场景,包括使用变量、逻辑操作符、字符串比较、NOT操作符等。在实际项目中,条件判断常用于根据不同的情况执行不同的构建步骤或设置不同的变量。

你可能感兴趣的:(cmake,Linux学习过程笔记,学习,linux)