Suporte a Clang/LLVM em projetos do CMake no Visual Studio
O suporte do Clang está disponível a partir do Visual Studio 2019.
Você pode usar o Visual Studio com o Clang para editar e depurar projetos CMake C++ direcionados ao Windows ou Linux.
Windows: a partir do Visual Studio 2019 versão 16.1, o Visual Studio inclui suporte para edição, criação e depuração com Clang/LLVM em projetos do CMake direcionados ao Windows.
Linux: para projetos CMake no Linux, não é necessário suporte especial do Visual Studio. Você pode instalar o Clang usando o gerenciador de pacotes da distribuição e adicionar os comandos apropriados no arquivo CMakeLists.txt.
Instalar
Para obter o melhor suporte ao IDE no Visual Studio, recomendamos usar as ferramentas mais recentes do compilador Clang para Windows. Se você ainda não as tiver, poderá instalá-las abrindo o Instalador do Visual Studio e escolhendo o compilador Clang C++ para Windows em componentes opcionais Desenvolvimento da área de trabalho com C++. Você pode preferir usar uma instalação existente do Clang em sua máquina; em caso afirmativo, escolha o componente C++ Clang-cl para ferramentas de build v142 ou C++ Clang-cl para ferramentas de build v143.
Para obter o melhor suporte ao IDE no Visual Studio, recomendamos usar as ferramentas mais recentes do compilador Clang para Windows. Se você ainda não as tiver, poderá instalá-las abrindo o Instalador do Visual Studio e escolhendo o compilador Clang C++ para Windows em componentes opcionais Desenvolvimento da área de trabalho com C++. Você pode preferir usar uma instalação existente do Clang em sua máquina; nesse caso, escolha o componente de conjunto de ferramentas MSBuild support for LLVM (clang-cl).
Criar uma nova configuração
Para adicionar uma nova configuração do Clang a um projeto do CMake:
Clique com o botão direito do mouse em CMakeLists.txt no Gerenciador de Soluções e escolha Configurações do CMake para o projeto.
Em Configurações, pressione o botão Adicionar Configuração:
Escolha a configuração de Clang desejada (observe que configurações separadas do Clang são fornecidas para Windows e Linux) e pressione Selecionar:
Para fazer modificações nessa configuração, use o Editor de Configurações do CMake. Para obter mais informações, confira Personalizar as configurações de build do CMake no Visual Studio.
Modificar uma configuração existente para usar Clang
Para modificar uma configuração existente para usar o Clang, siga estas etapas:
Clique com o botão direito do mouse em CMakeLists.txt no Gerenciador de Soluções e escolha Configurações do CMake para o projeto.
Em Geral, selecione a lista suspensa Conjunto de ferramentas e escolha o conjunto de ferramentas Clang desejado:
Locais de Clang personalizados
Por padrão, o Visual Studio procura o Clang em dois lugares:
- (Windows) A cópia instalada internamente do Clang/LLVM que vem com o instalador do Visual Studio.
- (Windows e Linux) A variável de ambiente PATH.
Você pode especificar outro local definindo as variáveis CMAKE_C_COMPILER e CMAKE_CXX_COMPILER do CMake em Configurações do CMake:
Modos de compatibilidade do Clang
Para configurações do Windows, o CMake por padrão invoca o Clang no modo clang-cl e vincula com a implementação da Biblioteca Padrão da Microsoft. Por padrão, clang-cl.exe está localizado em C:\Program Files (x86)\Microsoft Visual Studio\2019\Common7\IDE\CommonExtensions\Microsoft\Llvm\bin
.
Você pode modificar esses valores em Configurações do CMake em variáveis CMake e cache. Clique em Mostrar variáveis avançadas. Role para baixo para encontrar CMAKE_CXX_COMPILER e clique no botão Procurar para especificar um caminho de compilador diferente.
Editar, compilar e depurar
Depois de configurar uma configuração do Clang, você poderá compilar e depurar o projeto. O Visual Studio detecta que você está usando o compilador Clang e fornece IntelliSense, realce, navegação e outros recursos de edição. Erros e avisos são exibidos na Janela de Saída.
Ao depurar, você pode usar pontos de interrupção, visualização de memória e dados e a maioria dos outros recursos de depuração. Alguns recursos dependentes do compilador, como Editar e Continuar, não estão disponíveis para configurações do Clang.