Refactor language mapping logic
It was very easy to forgot to add all the possible language
properties that try_compile
might need. Refactored the code
to make it harder to skip flags.
This changes adds the missing language properties for the CUDA, Fortran, OBJC, OBJCXX, and Swift languages.
CMAKE_<LANG>_COMPILER_EXTERNAL_TOOLCHAIN
CMAKE_<LANG>_COMPILER_TARGET
CMAKE_<LANG>_LINK_NO_PIE_SUPPORTED
CMAKE_<LANG>_PIE_SUPPORTED
Edited by Robert Maynard