CMP0065 — CMake 3.10.2 Documentation

# CMP0065

Do not add flags to export symbols from executables without the `ENABLE_EXPORTS` target property.

CMake 3.3 and below, for historical reasons, always linked executables on some platforms with flags like `-rdynamic` to export symbols from the executables for use by any plugins they may load via `dlopen`. CMake 3.4 and above prefer to do this only for executables that are explicitly marked with the `ENABLE_EXPORTS` target property.

The `OLD` behavior of this policy is to always use the additional link flags when linking executables regardless of the value of the `ENABLE_EXPORTS` target property.

The `NEW` behavior of this policy is to only use the additional link flags when linking executables if the `ENABLE_EXPORTS` target property is set to `True`.

This policy was introduced in CMake version 3.4. Unlike most policies, CMake version 3.10.2 does not warn by default when this policy is not set and simply uses OLD behavior. See documentation of the `CMAKE_POLICY_WARNING_CMP0065` variable to control the warning.

Note

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