New in version 3.7.

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.28.20231206-gcf14896 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.


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