CMP0049

不扩展目标源项中的变量。

CMake 2.8.12 及更低版本在评估源文件名时执行了一层额外的变量扩展

set(a_source foo.c)
add_executable(foo \${a_source})

这是一个未记录的行为。

此策略的 OLD 行为是在处理目标源时扩展此类变量。此策略的 NEW 行为是在需要扩展此类变量时发出错误。

此策略在 CMake 3.0 版本中引入。它可以通过 cmake_policy()cmake_minimum_required() 来设置。如果未设置,CMake 会发出警告,并使用 OLD 行为。

注释

策略的 OLD 行为 deprecated by definition,并且在 CMake 的未来版本中可能会被移除。