跳转至

生成器表达式

生成器表达式(Generator Expressions)是 CMake 中用于在构建过程中动态计算值的一种特殊语法,可以嵌入到命令字符串中。它们有很多用途,例如获取目标文件的绝对路径、获取目标输出目录的路径等。

需要注意的是

  1. 在使用生成器表达式时,应该将其放在一对 $<> 中,并确保正确的语法和正确的用法
  2. 在不同的上下文环境中使用不同的表达式,而不是每个表达式都通用

例如,$<CONFIG>可获得构建配置的名称(Debug、Relase等)

版本

  1. CMake 2.6 版本开始支持生成器表达式
  2. 但是在 CMake 2.6 和 3.0 之间的版本中,生成器表达式的语法和用法比较有限和不完整,只能用于一些非常基本的应用场景
  3. 从 CMake 3.0 开始,生成器表达式的功能得到了大幅度扩展和改进,可以用于更多复杂的应用场景,并且语法和用法也更加规范和灵活

因此,建议用户使用 CMake 3.0 及以上版本来充分发挥生成器表达式的优势。