Compute CMAKE_C_COMPILER_ARCHITECTURE_ID everywhere
CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID
is currently computed in Modules/CMakePlatformId.h.in
during compiler identification for MSVC-like compilers and maybe a couple others. This works only for compilers where the choice of compiler tool determines the target architecture and no compiler flags can change it. It is needed very early for MSVC in order to know the proper -machine:
linker argument for later try_compile
checks and such.
It may be useful to provide information about the target architecture everywhere. For other compilers it could be detected in Modules/CMakeCompilerABI.h
, which is built using the full set of flags that will be used for project code. We already detect sizeof(void*)
there.