как CMake распознает идентификацию компилятора

#cmake #compiler-optimization #identification

Вопрос:

Я хочу создать компилятор, распознаваемый CMake. Есть встроенный CMakeDetermineCompilerId.cmake файл и a CMakeCXXCompilerId.cpp . Похоже, что CMake использует компилятор для компиляции CMakeCXXCompilerId.cpp и проверки кода возврата.

 int main(int argc, char* argv[])
{
  int require = 0;
  require  = info_compiler[argc];
  require  = info_platform[argc];
#ifdef COMPILER_VERSION_MAJOR
  require  = info_version[argc];
#endif
#ifdef COMPILER_VERSION_INTERNAL
  require  = info_version_internal[argc];
#endif
#ifdef SIMULATE_ID
  require  = info_simulate[argc];
#endif
#ifdef SIMULATE_VERSION_MAJOR
  require  = info_simulate_version[argc];
#endif
#if defined(__CRAYXE) || defined(__CRAYXC)
  require  = info_cray[argc];
#endif
  require  = info_language_dialect_default[argc];
  (void)argv;
  return require;
}