CMake учитывает переменные окружения CC
и CXX
при обнаружении компилятора C и C ++ для использования.Например, если эти переменные указывают на clang, он будет использовать clang по умолчанию:
$ export CC=/usr/bin/clang
$ export CXX=/usr/bin/clang++
$ cmake ..
-- The C compiler identification is Clang
-- The CXX compiler identification is Clang
-- Check for working C compiler: /usr/bin/clang
-- Check for working C compiler: /usr/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/clang++
-- Check for working CXX compiler: /usr/bin/clang++ -- works
...
Вы можете определить их как общесистемные переменные среды, указывающие на предпочтительные компиляторы, или написать небольшой скрипт оболочки, который проверяетналичие нескольких компиляторов и соответственно устанавливает переменные перед вызовом cmake.