If the cache variable named in ${valid_archs} (e.g. DARWIN_osx_BUILTIN_ARCHS)
is set in the cache but is empty then the cache check
if(${valid_archs}) will be false so the function will probe the
compiler but the set(...) command at the end of the function to update
the cache variable will be a no-op. This is because set(...) will not
update an existing cache variable unless the FORCE argument is
provided.
To fix this this patch adds FORCE so the cache is always updated.
rdar://problem/55323665