Skip to content

enable_language: Fix test for working compiler with CMP0126 NEW behavior

Brad King requested to merge brad.king/cmake:enable_language-CMP0126 into master

Update the logic that converts a try_compile result from a cache entry to a normal variable to tolerate an existing normal variable under CMP0126 NEW behavior. Otherwise the try_compile result is ignored because CMake uses the false value of the normal variable, and CMake incorrectly reports that the compiler does not work.

This went unnoticed for some languages (e.g. C and CXX) because the check for a working compiler is skipped if ABI detection works. It does affect other languages (e.g. CSharp).

Fixes: #22423 (closed)
Backport: release

Merge request reports