`check_pie_supported` only uses the `OUTPUT_VARIABLE` to to signify errors if PIE is actually supported is signaled by `CMAKE_<lang>_LINK_PIE_SUPPORTED`. Checking if `OUTPUT_VARIABLE` is empty is not enough either since the check is bypassed if its results are cached but the output variable is not cached.