CMake не распознает компилятор в MacOS с генератором Xcode - PullRequest
0 голосов
/ 07 мая 2020

Я установил CMake 3.17.1, g cc 9.3.0, openmpi 3.1.5 и другие инструменты на свой Ma c (10.15.4) с помощью spack. Я могу настроить и собрать свой код со следующими параметрами

cmake ../ \
 -DMPI_C_COMPILER=mpicc -DMPI_CXX_COMPILER=mpicxx \
 -DCMAKE_BUILD_TYPE=Release \
 -DCMAKE_C_COMPILER=gcc \
 -DCMAKE_CXX_COMPILER=g++ \
 -DCMAKE_Fortran_COMPILER=gfortran 

Однако, когда я добавляю параметр генератора Xcode:

cmake -G Xcode ../ \
 -DMPI_C_COMPILER=mpicc -DMPI_CXX_COMPILER=mpicxx \
 -DCMAKE_BUILD_TYPE=Release \
 -DCMAKE_C_COMPILER=gcc \
 -DCMAKE_CXX_COMPILER=g++ \
 -DCMAKE_Fortran_COMPILER=gfortran 

cmake не может идентифицировать компилятор и дает следующие ошибки:

-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Check for working C compiler: 

 <trimmed content>

-- Configuring incomplete, errors occurred!

Я пробовал xcode-select --reset, как предлагалось в других сообщениях, безуспешно.

Есть ли способ решить эту проблему и заставить cmake сгенерировать рабочую область для Xcode?

Обновление : похоже, что команда сборки, которую Cmake использует для компиляции тестового кода, добавляет параметры, допустимые для clang, но не для g cc.

  gcc -x c -target x86_64-apple-macos10.15 \
  -fdiagnostics-show-note-include-stack \
  -fmacro-backtrace-limit=0 -fpascal-strings \
  -fasm-blocks --serialize-diagnostics \
  <among other options>

Компилятор g cc жалуется на это. Где / как cmake решает, какие параметры использовать? Есть ли способ подавить эти оскорбительные варианты?

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