zoukankan      html  css  js  c++  java
  • 02-cmake语法-if、条件表达

    格式:

    if(expression)
      # then section.
      COMMAND1(ARGS ...)
      COMMAND2(ARGS ...)
      ...
    elseif(expression2)
      # elseif section.
      COMMAND1(ARGS ...)
      COMMAND2(ARGS ...)
      ...
    else()
      # else section.
      COMMAND1(ARGS ...)
      COMMAND2(ARGS ...)
      ...
    endif()
    

      

    例子:

    if(" ${CMAKE_SOURCE_DIR}" STREQUAL " ${CMAKE_BINARY_DIR}")
      message(FATAL_ERROR "
    FATAL: In-source builds are not allowed.
           You should create a separate directory for build files.
    ")
    endif()
    

      

    STREQUAL 是 CMAKE 的关键字,用于字符串比较,相同返回 true

    ${CMAKE_SOURCE_DIR} 是 CMAKE 的自保留变量(拿来用就可以,含义已经确定),文件路径

    ${CMAKE_BINARY_DIR}是输出路径

    关系操作符

    NOT 非,NOT E1
    AND 与,E1 AND E2
    OR 或,E1 OR E2
    EXIST ~ E,存在 name 的文件或者目录(应该使用绝对路径),真
    COMMAND ~ E,存在 command-name 命令、宏或函数且能够被调用,真
    DEFINED  ~ E,变量被定义了,真
    EQUAL E1 ~ E2,变量值或者字符串匹配 regex 正则表达式
    LESS
    GREATER
    STRLESS E1 ~ E2,变量值或者字符串为有效的数字且满足小于(大于、等于)的条件
    STRGREATER 
    STREQUAL

     

  • 相关阅读:
    openstack官方指导书
    获取当前日期时间并格式化
    获取url中的参数
    页签切换
    app开屏广告
    开发接口文档--本接口文档是读取控制器方法上的注释自动生成的
    bzoj 1491: [NOI2007]社交网络
    bzoj 3996: [TJOI2015]线性代数
    5.6水题合集
    bzoj 3528: [Zjoi2014]星系调查
  • 原文地址:https://www.cnblogs.com/alexYuin/p/8874386.html
Copyright © 2011-2022 走看看