CMP0066

Honor per-config flags in try_compile() source-file signature.

The source file signature of the try_compile() command uses the value of the CMAKE_<LANG>_FLAGS variable in the test project so that the test compilation works as it would in the main project. However, CMake 3.6 and below do not also honor config-specific compiler flags such as those in the CMAKE_<LANG>_FLAGS_DEBUG variable. CMake 3.7 and above prefer to honor config-specific compiler flags too. This policy provides compatibility for projects that do not expect config-specific compiler flags to be used.

The OLD behavior of this policy is to ignore config-specific flag variables like CMAKE_<LANG>_FLAGS_DEBUG and only use CMake’s built-in defaults for the current compiler and platform.

The NEW behavior of this policy is to honor config-specific flag variabldes like CMAKE_<LANG>_FLAGS_DEBUG.

This policy was introduced in CMake version 3.7. Unlike most policies, CMake version 3.16.9 does not warn by default when this policy is not set and simply uses OLD behavior. See documentation of the CMAKE_POLICY_WARNING_CMP0066 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.