How to use clang-cl and lld-link with Visual Studio generator
I want to use clang-cl as default compiler and lld-link as default linker for Visual Studio generator without installing LLVM Platform Toolset in the system (https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain). Is it possible?
When I try to run CMake 3.14 like this:
cmake -G"Visual Studio 15 2017 Win64" ^
-DCMAKE_C_COMPILER="d:/llvm/bin/clang-cl.exe" ^
-DCMAKE_CXX_COMPILER="d:/llvm/bin/clang-cl.exe" ^
-DCMAKE_LINKER="d:/llvm/bin/lld-link.exe" ..
for CMakeLists.txt:
cmake_minimum_required(VERSION 3.9)
message(STATUS "C Compiler executable: ${CMAKE_C_COMPILER}")
message(STATUS "CXX Compiler executable: ${CMAKE_CXX_COMPILER}")
message(STATUS "Linker executable: ${CMAKE_LINKER}")
project(test_project)
...
MCVC compiler still used:
-- C Compiler executable: d:/llvm/bin/clang-cl.exe
-- CXX Compiler executable: d:/llvm/bin/clang-cl.exe
-- Linker executable: d:/llvm/bin/lld-link.exe
-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.15063.
-- The C compiler identification is MSVC 19.16.27030.1
-- The CXX compiler identification is MSVC 19.16.27030.1
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done