OS X: CMake игнорирует CMAKE_C_COMPILER
Я пытаюсь собрать Trilinos на своем ноутбуке с OS X 10.11.6 и продолжаю сталкиваться со следующей проблемой: CMake использует Clang от Apple вместо GCC
...
Probing the environment ...
-- USE_XSDK_DEFAULTS='FALSE'
-- CMAKE_BUILD_TYPE='RELEASE'
-- BUILD_SHARED_LIBS='FALSE'
-- CMAKE_C_COMPILER_ID='AppleClang'
-- CMAKE_C_COMPILER_VERSION='7.3.0.7030031'
-- CMAKE_CXX_COMPILER_ID='AppleClang'
-- CMAKE_CXX_COMPILER_VERSION='7.3.0.7030031'
...
Несмотря на то, что я передал адрес gcc/g++ в качестве аргумента в вызове:
cmake -D CMAKE_C_COMPILER=/usr/bin/gcc -D CMAKE_CXX_COMPILER=/usr/bin/g++ ..
Я установил GCC и G++ отдельно:
$ gcc --version
gcc (GCC) 4.9.2 20141029 (prerelease)
Copyright (C) 2014 Free Software Foundation, Inc.
UPD Если кому-то интересно, я сдался и перевел разработку в Ubuntu. Если вы найдете способ сделать это, пожалуйста, прокомментируйте ниже
1 ответ
Когда компилятор установлен явно, CMake не пытается угадать его идентификацию (переменные *_COMPILER_ID
а также *_COMPILER_VERSION
,
Если вы хотите (и, как правило, хотите), чтобы эта идентификация правильно отражала ваш компилятор, вам также необходимо явно установить эти переменные.
Для настройки нескольких переменных, описывающих среду здания, вы можете использовать файлы наборов инструментов.