CMP0038 — CMake 3.31.6 Documentation

# CMP0038

Targets may not link directly to themselves.

CMake 2.8.12 and lower allowed a build target to link to itself directly with a `target_link_libraries()` call. This is an indicator of a bug in user code.

The `OLD` behavior for this policy is to ignore targets which list themselves in their own link implementation. The `NEW` behavior for this policy is to report an error if a target attempts to link to itself.

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.