Как установить приоритет компилятора в Cmake - PullRequest
1 голос
/ 18 июня 2020

Я работаю над шаблоном файла CMake для использования в будущих проектах. Я, со своей стороны, большой поклонник clang, но я не хочу заставлять всех, кто использует мои проекты, также использовать clang. Лучшим случаем было бы, если бы он просто работал с любым компилятором, если нет clang.
Я нашел следующую строку, но в моем тестовом идентификаторе, похоже, ничего не было.

set(CMAKE_C_COMPILER_NAMES clang gcc icc cc)
set(CMAKE_CXX_COMPILER_NAMES clang++ g++ icpc c++ cxx)

Как лучше всего расставить приоритеты в следующем порядке:

  1. clang
  2. g cc
  3. все, что установлено

1 Ответ

3 голосов
/ 18 июня 2020

Вы должны разрешить CMake использовать компилятор, который пользователь настроил для использования, или тот, который они настроили по умолчанию, или то, что их система использует по умолчанию. Добавление кода выбора компилятора в CMakeLists.txt контрпродуктивно.

Если вы знаете, что программа не будет работать с определенным компилятором, вы можете проверить это и показать предупреждающее сообщение.

Как пользователь, вы можете указать переменные среды CC и CXX, чтобы выбрать компилятор, или переменную CMAKE_<LANG>_COMPILER, которая заменяет предыдущую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...