Meniu Închide

Proiecte CMake în Visual Studio

Componenta C++ CMake tools for Windows utilizează caracteristica Open Folder pentru a consuma fișiere de proiect CMake (cum ar fi CMakeLists.txt) direct în scopul IntelliSense și al navigării. Sunt acceptate atât generatoarele Ninja, cât și cele din Visual Studio. Dacă utilizați un generator Visual Studio, acesta generează un fișier de proiect temporar și îl transmite către msbuild.exe. Cu toate acestea, proiectul nu este niciodată încărcat în scopuri IntelliSense sau de navigare. De asemenea, puteți importa o memorie cache CMake existentă.

Instalare

C++ CMake tools for Windows se instalează ca parte a sarcinilor de lucru Desktop development with C++ și Linux Development with C++. Pentru mai multe informații, consultați Proiecte CMake pentru mai multe platforme.

Pentru mai multe informații, consultați Instalarea încărcăturii de lucru C++ Linux în Visual Studio.

IntegrareIDE

Când alegeți File > Open > Folder pentru a deschide un dosar care conține un CMakeLists.txt, se întâmplă următoarele lucruri:

  • Visual Studio adaugă elemente CMake în meniul Proiect, cu comenzi pentru vizualizarea și editarea scripturilor CMake.

  • Solution Explorer afișează structura dosarului și fișierele.

  • Visual Studio rulează cmake.exe și generează fișierul cache CMake (CMakeCache.txt) pentru configurația implicită (x64 Debug). Linia de comandă CMake este afișată în fereastra de ieșire, împreună cu ieșirea suplimentară de la CMake.

  • În fundal, Visual Studio începe să indexeze fișierele sursă pentru a activa IntelliSense, informații de navigare, refactorizare și așa mai departe. Pe măsură ce lucrați, Visual Studio monitorizează modificările din editor și, de asemenea, de pe disc pentru a-și menține indexul sincronizat cu sursele.

Puteți deschide dosare care conțin orice număr de proiecte CMake. Visual Studio detectează și configurează toate fișierele CMakeLists.txt „rădăcină” din spațiul dvs. de lucru. Operațiile CMake (configurare, construire, depanare), IntelliSense C++ și navigarea sunt disponibile pentru toate proiectele CMake din spațiul dvs. de lucru.

De asemenea, puteți vizualiza proiectele dvs. organizate logic pe ținte. Alegeți vizualizarea Ținte din meniul derulant din bara de instrumente Solution Explorer:

Click pe butonul Show All Files din partea de sus a Solution Explorer pentru a vedea toate fișierele de ieșire generate de CMake în dosarele out/build/<config>.

Visual Studio utilizează un fișier de configurare numit CMakeSettings.json. Acest fișier vă permite să definiți și să stocați mai multe configurații de construire și să comutați convenabil între ele în IDE. O configurație este o construcție Visual Studio care înglobează setările specifice unui anumit tip de construcție. Setările sunt utilizate pentru a configura opțiunile implicite ale liniei de comandă pe care Visual Studio le transmite către cmake.exe. Puteți, de asemenea, să specificați aici opțiuni CMake suplimentare și să definiți orice variabile suplimentare pe care le doriți. Toate opțiunile sunt scrise în memoria cache CMake fie ca variabile interne, fie ca variabile externe. În Visual Studio 2019, editorul de setări CMake oferă o modalitate convenabilă de a vă edita setările. Pentru mai multe informații, consultați Personalizarea setărilor CMake.

O singură setare, intelliSenseMode nu este transmisă către CMake, ci este utilizată doar de Visual Studio.

Utilizați fișierul CMakeLists.txt în fiecare dosar de proiect, așa cum ați face-o în orice proiect CMake. Puteți specifica fișierele sursă, găsi biblioteci, seta opțiunile compilatorului și linkerului și specifica alte informații legate de sistemul de compilare.

Pentru a transmite argumente unui executabil în momentul depanării, puteți utiliza un alt fișier numit launch.vs.json. În unele scenarii, Visual Studio generează automat aceste fișiere. Puteți să le editați manual sau chiar să creați singuri fișierul.

Nota

Pentru alte tipuri de proiecte Open Folder, se utilizează două fișiere JSON suplimentare: CppProperties.json și tasks.vs.json. Niciunul dintre acestea nu este relevant pentru proiectele CMake.

Deschideți o memorie cache existentă

Când deschideți un fișier cache CMake existent (CMakeCache.txt), Visual Studio nu încearcă să vă gestioneze memoria cache și arborele de construcție pentru dvs. Instrumentele dvs. personalizate sau preferate au control complet asupra modului în care CMake vă configurează proiectul. Pentru a deschide un cache existent în Visual Studio, alegeți File > Open > CMake. Apoi, navigați la un fișier CMakeCache.txt existent.

Puteți adăuga un cache CMake existent la un proiect deschis. Se face în același mod în care ați adăuga o nouă configurație. Pentru mai multe informații, consultați articolul de pe blogul nostru despre deschiderea unui cache existent în Visual Studio.

Constituirea proiectelor CMake

Pentru a construi un proiect CMake, aveți aceste opțiuni:

  1. În bara de instrumente General, găsiți lista derulantă Configurations. Probabil că arată „x64-Debug” în mod implicit. Selectați configurația preferată și apăsați F5, sau faceți clic pe butonul Run (triunghi verde) din bara de instrumente. Proiectul se construiește automat mai întâi, la fel ca o soluție Visual Studio.

  2. Dați clic dreapta pe CMakeLists.txt și selectați Build din meniul contextual. Dacă aveți mai multe ținte în structura dosarelor, puteți alege să le construiți pe toate sau doar o țintă specifică.

  3. Din meniul principal, selectați Build > Build All (F7 sau Ctrl+Shift+B). Asigurați-vă că o țintă CMake este deja selectată în meniul derulant Startup Item (Element de pornire) din bara de instrumente General.

Așa cum vă așteptați, rezultatele compilării sunt afișate în Output Window (Fereastra de ieșire) și Error List (Lista de erori).

Într-un dosar cu mai multe ținte de compilare, puteți specifica ce țintă CMake să fie compilată: Alegeți elementul Build din meniul CMake sau din meniul contextual CMakeLists.txt pentru a specifica ținta. Dacă introduceți Ctrl+Shift+B într-un proiect CMake, se construiește documentul activ curent.

Debugging proiecte CMake

Pentru a depana un proiect CMake, alegeți configurația preferată și apăsați F5 sau apăsați butonul Run din bara de instrumente. Dacă butonul Run spune „Select Startup Item”, selectați săgeata derulantă. Alegeți ținta pe care doriți să o executați. (Într-un proiect CMake, opțiunea „Current document” este valabilă numai pentru fișierele .cpp.)

Comanda Run sau F5 construiește mai întâi proiectul dacă au fost făcute modificări de la construcția anterioară. Modificările la CMakeSettings.json determină regenerarea cache-ului CMake.

Puteți personaliza o sesiune de depanare CMake prin setarea proprietăților în fișierul launch.vs.json. Pentru mai multe informații, consultați Configurarea sesiunilor de depanare CMake.

Just My Code pentru proiectele CMake

Când construiți pentru Windows folosind compilatorul MSVC, proiectele CMake au suport pentru depanarea Just My Code. Pentru a modifica setarea Just My Code, mergeți la Tools > Options > Debugging > General.

Integrarea vcpkg

Dacă ați instalat vcpkg, proiectele CMake deschise în Visual Studio integrează automat fișierul vcpkg toolchain. Aceasta înseamnă că nu este necesară nicio configurație suplimentară pentru a utiliza vcpkg cu proiectele CMake. Acest suport funcționează atât pentru instalațiile vcpkg locale, cât și pentru instalațiile vcpkg de pe sistemele la distanță pe care le vizați. Acest comportament este dezactivat automat atunci când specificați orice alt toolchain în configurația Setări CMake.

Personalizați feedback-ul de configurare

În mod implicit, majoritatea mesajelor de configurare sunt suprimate, cu excepția cazului în care există o eroare. Puteți vedea toate mesajele activând această caracteristică în Tools > Options > CMake.

Editarea fișierelor CMakeLists.txt

Pentru a edita un fișier CMakeLists.txt, faceți clic dreapta pe fișier în Solution Explorer și alegeți Open. Dacă faceți modificări în fișier, apare o bară de stare galbenă care vă informează că IntelliSense se va actualiza. Aceasta vă oferă posibilitatea de a anula operațiunea de actualizare. Pentru informații despre CMakeLists.txt, consultați documentația CMake.

De îndată ce salvați fișierul, etapa de configurare se execută din nou în mod automat și afișează informații în fereastra Output. Erorile și avertismentele sunt afișate în Error List (Lista de erori) sau în fereastra Output (Ieșire). Faceți dublu clic pe o eroare din Lista de erori pentru a naviga la linia incriminată din CMakeLists.txt.

Etapa de configurare CMake

Când faceți modificări semnificative în fișierele CMakeSettings.json sau CMakeLists.txt, Visual Studio reia automat etapa de configurare CMake. Dacă etapa de configurare se termină fără erori, informațiile colectate sunt disponibile în C++ IntelliSense și în serviciile de limbaj. De asemenea, este utilizată în operațiunile de compilare și de depanare.

Descoperirea erorilor cache-ului CMake

Dacă aveți nevoie de mai multe informații despre starea cache-ului CMake pentru a diagnostica o problemă, deschideți meniul principal Project sau meniul contextual CMakeLists.txt din Solution Explorer pentru a rula una dintre aceste comenzi:

  • View Cache deschide fișierul CMakeCache.txt din dosarul rădăcină de compilare în editor. (Orice modificare pe care o faceți aici în CMakeCache.txt este ștearsă dacă curățați memoria cache. Pentru a face modificări care persistă după curățarea cache-ului, consultați Customize CMake settings.)

  • Open Cache Folder deschide o fereastră de explorare la dosarul rădăcină de construire.

  • Clean Cache șterge dosarul rădăcină de construire astfel încât următorul pas de configurare CMake să pornească de la un cache curat.

  • Generate Cache forțează pasul de generare să ruleze chiar dacă Visual Studio consideră că mediul este actualizat.

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.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *