cmake中的生成表达式

1. 使用cmake中的生成表达式的时候发现不能够打印其中的信息,如下面的postfix变量不能通过message的输出信息,原因是在cmake config阶段还没有这个信息

2. 可以通过下面的代码块中的方式打印生成表达式中的信息

3. 各种生成表达式的使用可以参考下面的官方链接

cmake_minimum_required(VERSION 3.17)

project(test_cmake)
set(postfix $<$<CONFIG:Debug>:d>)
add_custom_target(genexdebug COMMAND ${CMAKE_COMMAND} -E echo "$<$<CONFIG:Debug>:d>")

命令行输入:​​​​​​​

mkdir temp && cd temp
cmake -DCMAKE_BUILD_TYPE=ON ..
make genexdebug

说明:

$<condition:true_string>

Evaluates to true_string if condition is 1. Otherwise evaluates to the empty string.

$<IF:condition,true_string,false_string>

Evaluates to true_string if condition is 1. Otherwise evaluates to false_string.

 参考链接:

1. cmake-generator-expressions(7) — CMake 3.24.0-rc3 Documentationhttps://cmake.org/cmake/help/latest/manual/cmake-generator-expressions.7.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值