# 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.12.3 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.