CMP0049 — CMake 3.31.1 Documentation

# 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. It may be set by `cmake_policy()` or `cmake_minimum_required()`. If it is not set, CMake warns, and uses `OLD` behavior.

Note

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