Как поменять компилятор по умолчанию в cmake

Я хочу использовать cmake с компилятором clang++, указал все пути до clang в переменных средах, но по умолчанию cmake все равно использует MSVC. Подскажите, можно ли как-то сделать clang по умолчанию?

Вот что выдает cmake:

-- Building for: Visual Studio 17 2022
CMAKE_C_COMPILER: D:/qwe/LLVM/bin/clang.exe
CMAKE_CXX_COMPILER: D:/qwe/LLVM/bin/clang++.exe
-- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.22631.
-- The C compiler identification is MSVC 19.38.33130.0
-- The CXX compiler identification is MSVC 19.38.33130.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: D:/Visual Studio/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.38.33130/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: D:/Visual Studio/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.38.33130/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (3.8s)
-- Generating done (0.0s)
-- Build files have been written to: D:/dev/cpp/testimgui/build

Ответы (1 шт):

Автор решения: isnullxbh

Возможно данное поведение наблюдается из-за того, что в Windows CMake по умолчанию использует один из генераторов Visual Studio X, который и переопределяет настройки.

Как вариант, можете установить систему сборки Ninja, добавить путь к директории с исполняемым файлом в переменную среды Path, а затем вызывать CMake следующим образом:

cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -G Ninja -S . -B build
→ Ссылка