Menu Fechar

CMake projects in Visual Studio

O componente C++ CMake tools for Windows usa o recurso Open Folder para consumir arquivos de projetos CMake (como CMakeLists.txt) diretamente para os propósitos do IntelliSense e navegação. Ambos os geradores Ninja e Visual Studio são suportados. Se você usar um gerador Visual Studio, ele gera um arquivo de projeto temporário e o passa para msbuild.exe. No entanto, o projeto nunca é carregado para fins de IntelliSense ou de navegação. Você também pode importar um cache CMake existente.

Instalação

C++ Ferramentas CMake para Windows é instalado como parte do desenvolvimento Desktop com C++ e Desenvolvimento Linux com cargas de trabalho em C++. Para mais informações, veja Cross-platform CMake projects.

Para mais informações, veja Install the C++ Linux workload in Visual Studio.

IDE Integration

When you choose File Open Folder to open a folder containing a CMakeLists.Se o arquivo txt, as seguintes coisas acontecem:

  • Visual Studio adiciona itens CMake ao menu Project, com comandos para visualização e edição de scripts CMake.

  • p>Solution Explorer exibe a estrutura de pastas e arquivos.
  • p>Visual Studio executa o cmake.exe e gera o arquivo de cache CMake (CMakeCache.txt) para a configuração padrão (x64 Debug). A linha de comando CMake é exibida na Janela de Saída, juntamente com a saída adicional do CMake.
  • Em segundo plano, o Visual Studio começa a indexar os arquivos fonte para habilitar o IntelliSense, a navegar nas informações, refatorar, e assim por diante. Conforme você trabalha, o Visual Studio monitora mudanças no editor e também em disco para manter seu índice em sincronia com os fontes.

Você pode abrir pastas contendo qualquer número de projetos CMake. O Visual Studio detecta e configura todos os arquivos CMakeLists.txt “raiz” no seu espaço de trabalho. Operações CMake (configurar, construir, depurar), C++ IntelliSense e navegação estão disponíveis para todos os projetos CMake no seu espaço de trabalho.

Você também pode visualizar seus projetos organizados logicamente por alvos. Escolha Targets view na barra de ferramentas do Solution Explorer:

Clique no botão Show All Files no topo do Solution Explorer para ver toda a saída gerada pelo CMake- no out/build/config pastas.

Visual Studio usa um arquivo de configuração chamado CMakeSettings.json. Este arquivo permite definir e armazenar múltiplas configurações de compilação, e alternar convenientemente entre elas no IDE. Uma configuração é uma construção do Visual Studio que encapsula configurações que são específicas para um determinado tipo de construção. As configurações são usadas para configurar as opções padrão de linha de comando que o Visual Studio passa para cmake.exe. Você também pode especificar opções adicionais de CMake aqui, e definir quaisquer variáveis adicionais que desejar. Todas as opções são gravadas no cache do CMake como variáveis internas ou externas. No Visual Studio 2019, o Editor de configurações do CMake fornece uma maneira conveniente de editar suas configurações. Para mais informações, veja Customize CMake settings.

One setting, intelliSenseMode não é passado para o CMake, mas é usado apenas pelo Visual Studio.

Utilize o arquivo CMakeLists.txt em cada pasta de projeto exatamente como você faria em qualquer projeto CMake. Você pode especificar arquivos fonte, encontrar bibliotecas, definir opções de compilador e linker, e especificar outras informações relacionadas ao sistema de compilação.

Para passar argumentos para um executável na hora da depuração, você pode usar outro arquivo chamado launch.vs.json. Em alguns cenários, o Visual Studio gera automaticamente esses arquivos. Você pode editá-los manualmente, ou mesmo criar o arquivo você mesmo.

Nota

Para outros tipos de projetos Open Folder, dois arquivos JSON adicionais são usados: CppProperties.json e tasks.vs.json. Nenhum deles é relevante para projetos CMake.

Abrir um cache existente

Quando você abre um arquivo cache CMake existente (CMakeCache.txt), o Visual Studio não tenta gerenciar seu cache e construir uma árvore para você. Suas ferramentas personalizadas ou preferidas têm controle completo sobre como o CMake configura seu projeto. Para abrir um cache existente no Visual Studio, escolha File > Open > CMake. Então, navegue para um arquivo CMakeCache.txt existente.

Você pode adicionar um cache CMake existente a um projeto aberto. É feito da mesma maneira que você adicionaria uma nova configuração. Para mais informações, veja nosso post no blog sobre como abrir um cache existente no Visual Studio.

Building CMake projects

Para construir um projeto CMake, você tem estas escolhas:

  1. Na barra de ferramentas Geral, encontre a dropdown Configurações. Ela provavelmente mostra “x64-Debug” por padrão. Selecione a configuração preferida e pressione F5, ou clique no botão Executar (triângulo verde) na barra de ferramentas. O projeto constrói automaticamente primeiro, assim como uma solução do Visual Studio.

  2. P>Clicar direito em CMakeLists.txt e selecionar Build no menu de contexto. Se você tiver vários alvos em sua estrutura de pastas, você pode escolher construir todos ou apenas um alvo específico.

  3. Do menu principal, selecione Build Build All (F7 ou Ctrl+Shift+B). Certifique-se de que um alvo CMake já está selecionado no menu suspenso Startup Item na barra de ferramentas General.

Como você esperaria, os resultados do build são mostrados na Janela de Saída e Lista de Erros.

Em uma pasta com múltiplos alvos de build, você pode especificar qual alvo CMake a construir: Escolha o item Construir no menu CMake ou no menu de contexto CMakeLists.txt para especificar o alvo. Se você digitar Ctrl+Shift+B em um projeto CMake, ele constrói o documento ativo atual.

Debug CMake projects

Para depurar um projeto CMake, escolha a configuração preferida e pressione F5, ou pressione o botão Executar na barra de ferramentas. Se o botão Executar disser “Select Startup Item”, selecione a seta suspensa. Escolha o alvo que você deseja executar. (Em um projeto CMake, a opção “Documento atual” só é válida para arquivos .cpp.)

Os comandos Executar ou F5 constróem primeiro o projeto se tiverem sido feitas alterações desde a construção anterior. Alterações no CMakeSettings.json fazem com que o cache CMake seja regenerado.

Você pode personalizar uma sessão de depuração do CMake definindo propriedades no arquivo launch.vs.json. Para mais informações, veja Configure CMake debugging sessions.

Just My Code for CMake projects

Quando você constrói para Windows usando o compilador MSVC, os projetos CMake têm suporte para Just My Code debugging. Para alterar a configuração de Just My Code, vá para Tools > Options > Debugging General.

Vcpkg integration

Se você instalou o vcpkg, os projetos CMake abertos no Visual Studio integram automaticamente o arquivo vcpkg toolchain. Isso significa que não é necessária nenhuma configuração adicional para usar o vcpkg com seus projetos CMake. Este suporte funciona tanto para instalações vcpkg locais quanto para instalações vcpkg em sistemas remotos que você está visando. Este comportamento é desativado automaticamente quando você especifica qualquer outra toolchain em sua configuração CMake Settings.

Customize configuration feedback

Por padrão, a maioria das mensagens de configuração são suprimidas, a menos que haja um erro. Você pode ver todas as mensagens habilitando este recurso em Tools > Options > CMake.

Editing CMakeLists.txt files

Para editar um arquivo CMakeLists.txt, clique com o botão direito do mouse no arquivo no Solution Explorer e escolha Open. Se você fizer alterações no arquivo, uma barra de status amarela aparece e informa que o IntelliSense irá atualizá-lo. Isso lhe dá a chance de cancelar a operação de atualização. Para informações sobre CMakeLists.txt, veja a documentação CMake.

Assim que você salvar o arquivo, a etapa de configuração é automaticamente executada novamente e exibe informações na janela Saída. Os erros e avisos são mostrados na lista de erros ou na janela de Saída. Clique duas vezes em um erro na lista de erros para navegar para a linha ofensiva em CMakeLists.txt.

CMake configure o passo

Quando você faz mudanças significativas nos arquivos CMakeSettings.json ou CMakeLists.txt, o Visual Studio automaticamente executa novamente o passo de configuração do CMake. Se o passo de configuração terminar sem erros, as informações coletadas estarão disponíveis no C++ IntelliSense e nos serviços de idiomas. Ele também é usado em operações de compilação e depuração.

Procura de erros de cache CMake

Se você precisar de mais informações sobre o estado do cache CMake para diagnosticar um problema, abra o menu principal do Projeto ou o menu de contexto CMakeLists.txt no Solution Explorer para executar um desses comandos:

  • p>View Cache abre o arquivo CMakeCache.txt a partir da pasta raiz da compilação no editor. (Quaisquer edições que você fizer aqui no CMakeCache.txt serão apagadas se você limpar o cache. Para fazer alterações que persistem após a limpeza do cache, veja Customize CMake settings.)
  • p>Open Cache Folder abre uma janela do Explorer para a pasta raiz da compilação.
  • p>Cache limpo exclui a pasta raiz da compilação para que o próximo passo de configuração do CMake comece a partir de um cache limpo.
  • p>p>Generate Cache força o passo de geração a ser executado mesmo que o Visual Studio considere o ambiente atualizado.

Automatic cache generation can be disabled in the Tools > Options > CMake > General dialog.

Run CMake from the command line

If you have installed CMake from the Visual Studio Installer, you can run it from the command line by following these steps:

  1. Run the appropriate vsdevcmd.bat (x86/x64). For more information, see Building on the Command Line.

  2. Switch to your output folder.

  3. Run CMake to build/configure your app.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *