# CMP0049

Warning

The `OLD` behavior of this policy was removed in CMake version 4.0. This policy must be set to `NEW` by a call to `cmake_minimum_required()` or `cmake_policy()`.

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. Prior to removal in CMake version 4.0, it could be set by `cmake_policy()` or `cmake_minimum_required()`. If it was not set, CMake warned, and used `OLD` behavior.