# CMP0049

Do not expand variables in target source entries.

CMake 2.8.12 and lower performed an extra layer of variable expansion when evaluating source file names:

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

This was undocumented behavior.

The `OLD` behavior for this policy is to expand such variables when processing the target sources. The `NEW` behavior for this policy is to issue an error if such variables need to be expanded.

This policy was introduced in CMake version 3.0. CMake version 3.23.0-rc4 warns when the policy is not set and uses `OLD` behavior. Use the `cmake_policy()` command to set it to `OLD` or `NEW` explicitly.

Note

The `OLD` behavior of a policy is `deprecated by definition` and may be removed in a future version of CMake.