Menu Zavřeno

Projekty CMake ve Visual Studiu

Komponenta C++ CMake tools for Windows používá funkci Open Folder pro přímé použití souborů projektu CMake (například CMakeLists.txt) pro účely IntelliSense a procházení. Podporovány jsou generátory Ninja i Visual Studio. Pokud použijete generátor Visual Studio, vygeneruje dočasný soubor projektu a předá jej souboru msbuild.exe. Tento projekt se však nikdy nenačte pro účely IntelliSense nebo procházení. Můžete také importovat existující mezipaměť CMake.

Instalace

Nástroje CMake pro Windows se instalují jako součást pracovních úloh Desktopový vývoj s C++ a Linuxový vývoj s C++. Další informace naleznete v části Projekty CMake pro různé platformy.

Další informace naleznete v části Instalace pracovní zátěže C++ pro Linux ve Visual Studiu.

IDE integrace

Při volbě Soubor > Otevřít > Složku otevřete složku obsahující seznamy CMake.txt, stanou se následující věci:

  • Visual Studio přidá do nabídky Project položky CMake s příkazy pro prohlížení a úpravy skriptů CMake.

  • Průzkumník řešení zobrazí strukturu složek a souborů.

  • Visual Studio spustí cmake.exe a vygeneruje soubor vyrovnávací paměti CMake (CMakeCache.txt) pro výchozí konfiguraci (x64 Debug). Příkazový řádek CMake se zobrazí ve výstupním okně spolu s dalším výstupem z CMake.

  • Na pozadí začne Visual Studio indexovat zdrojové soubory, aby bylo možné používat IntelliSense, informace o procházení, refaktorizaci atd. Během práce sleduje Visual Studio změny v editoru a také na disku, aby byl jeho index synchronizován se zdrojovými soubory.

Můžete otevřít složky obsahující libovolný počet projektů CMake. Visual Studio detekuje a konfiguruje všechny „kořenové“ soubory CMakeLists.txt ve vašem pracovním prostoru. Operace CMake (konfigurace, sestavení, ladění), C++ IntelliSense a procházení jsou dostupné pro všechny projekty CMake ve vašem pracovním prostoru.

Můžete také zobrazit své projekty uspořádané logicky podle cílů. Z rozbalovacího seznamu na panelu nástrojů Průzkumníka řešení vyberte zobrazení Cíle:

Kliknutím na tlačítko Zobrazit všechny soubory v horní části Průzkumníka řešení zobrazíte všechny výstupy generované nástrojem CMake ve složkách out/build/<config>.

Visual Studio používá konfigurační soubor s názvem CMakeSettings.json. Tento soubor umožňuje definovat a ukládat více konfigurací sestavení a pohodlně mezi nimi přepínat v prostředí IDE. Konfigurace je konstrukce aplikace Visual Studio, která zapouzdřuje nastavení specifická pro daný typ sestavení. Nastavení slouží ke konfiguraci výchozích voleb příkazového řádku, které Visual Studio předává souboru cmake.exe. Můžete zde také zadat další možnosti CMake a definovat libovolné další proměnné. Všechny volby se zapisují do mezipaměti CMake buď jako interní, nebo externí proměnné. V aplikaci Visual Studio 2019 poskytuje editor nastavení CMake pohodlný způsob úpravy nastavení. Další informace naleznete v části Přizpůsobení nastavení CMake.

Jedno nastavení, intelliSenseMode, se nepředává do CMake, ale používá ho pouze aplikace Visual Studio.

Používejte soubor CMakeLists.txt v každé složce projektu stejně jako v každém projektu CMake. Můžete v něm zadat zdrojové soubory, vyhledat knihovny, nastavit volby kompilátoru a linkeru a zadat další informace související se systémem sestavení.

Chcete-li spustitelnému souboru předat argumenty v době ladění, můžete použít další soubor nazvaný launch.vs.json. V některých scénářích aplikace Visual Studio tyto soubory generuje automaticky. Můžete je upravit ručně, nebo dokonce soubor vytvořit sami.

Poznámka

Pro jiné druhy projektů s otevřenou složkou se používají dva další soubory JSON: CppProperties.json a tasks.vs.json. Ani jeden z nich není pro projekty CMake relevantní.

Otevření existující mezipaměti

Pokud otevřete existující soubor mezipaměti CMake (CMakeCache.txt), aplikace Visual Studio se nepokusí spravovat mezipaměť a strom sestavení za vás. Vaše vlastní nebo preferované nástroje mají plnou kontrolu nad tím, jak CMake konfiguruje váš projekt. Chcete-li ve Visual Studiu otevřít existující mezipaměť, zvolte Soubor > Otevřít > CMake. Poté přejděte na existující soubor CMakeCache.txt.

Do otevřeného projektu můžete přidat existující mezipaměť CMake. Provádí se to stejným způsobem jako přidání nové konfigurace. Další informace najdete v našem příspěvku na blogu o otevření existující mezipaměti ve Visual Studiu.

Sestavování projektů CMake

Chcete-li sestavit projekt CMake, máte tyto možnosti:

  1. Na panelu nástrojů Obecné najděte rozevírací nabídku Konfigurace. Ve výchozím nastavení se v něm pravděpodobně zobrazuje „x64-Debug“. Vyberte preferovanou konfiguraci a stiskněte klávesu F5 nebo klikněte na tlačítko Spustit (zelený trojúhelník) na panelu nástrojů. Projekt se automaticky sestaví jako první, stejně jako řešení ve Visual Studiu.

  2. Klepněte pravým tlačítkem myši na CMakeLists.txt a z kontextové nabídky vyberte možnost Sestavit. Pokud máte ve struktuře složek více cílů, můžete zvolit sestavení všech nebo pouze jednoho konkrétního cíle.

  3. V hlavní nabídce vyberte možnost Sestavit > Sestavit vše (F7 nebo Ctrl+Shift+B). Ujistěte se, že cíl CMake je již vybrán v rozevírací nabídce Spouštěcí položka na panelu nástrojů Obecné.

Podle očekávání se výsledky sestavení zobrazí ve Výstupním okně a Seznamu chyb.

Ve složce s více cíli sestavení můžete určit, který cíl CMake se má sestavit: Výběrem položky Build v nabídce CMake nebo v kontextové nabídce CMakeLists.txt můžete určit cíl. Pokud v projektu CMake zadáte kombinaci kláves Ctrl+Shift+B, sestaví se aktuální aktivní dokument.

Ladění projektů CMake

Chcete-li ladit projekt CMake, vyberte preferovanou konfiguraci a stiskněte klávesu F5 nebo stiskněte tlačítko Spustit na panelu nástrojů. Pokud je na tlačítku Spustit napsáno „Vybrat spouštěcí položku“, vyberte rozevírací šipku. Vyberte cíl, který chcete spustit. (V projektu CMake platí možnost „Aktuální dokument“ pouze pro soubory .cpp.)

Příkazy Spustit nebo F5 nejprve sestaví projekt, pokud byly od předchozího sestavení provedeny změny. Změny v souboru CMakeSettings.json způsobí přegenerování mezipaměti CMake.

Režim ladění CMake můžete přizpůsobit nastavením vlastností v souboru launch.vs.json. Další informace naleznete v části Konfigurace ladicích relací CMake.

Just My Code pro projekty CMake

Při sestavování pro Windows pomocí překladače MSVC mají projekty CMake podporu pro ladění Just My Code. Chcete-li změnit nastavení Just My Code, přejděte do Nástroje > Možnosti > Ladění > Obecné.

Integrace vcpkg

Pokud jste nainstalovali vcpkg, projekty CMake otevřené ve Visual Studiu automaticky integrují soubor vcpkg toolchain. To znamená, že pro použití vcpkg s projekty CMake není nutná žádná další konfigurace. Tato podpora funguje jak pro místní instalace vcpkg, tak pro instalace vcpkg na vzdálených systémech, na které se zaměřujete. Toto chování je automaticky vypnuto, pokud v konfiguraci nastavení CMake zadáte jakýkoli jiný řetězec nástrojů.

Přizpůsobení zpětné vazby konfigurace

Ve výchozím nastavení je většina konfiguračních zpráv potlačena, pokud nedojde k chybě. Všechny zprávy můžete zobrazit zapnutím této funkce v Nástroje > Možnosti > CMake.

Úprava souborů CMakeLists.txt

Chcete-li upravit soubor CMakeLists.txt, klikněte na něj pravým tlačítkem myši v Průzkumníku řešení a zvolte Otevřít. Pokud v souboru provedete změny, zobrazí se žlutý stavový řádek, který vás informuje o aktualizaci nástroje IntelliSense. Dává vám možnost operaci aktualizace zrušit. Informace o souboru CMakeLists.txt naleznete v dokumentaci CMake.

Jakmile soubor uložíte, krok konfigurace se automaticky spustí znovu a zobrazí informace ve výstupním okně. Chyby a varování se zobrazují v okně Seznam chyb nebo Výstup. Poklepáním na chybu v Seznamu chyb přejdete na chybný řádek v souboru CMakeLists.txt.

Krok konfigurace CMake

Pokud provedete významné změny v souborech CMakeSettings.json nebo CMakeLists.txt, aplikace Visual Studio automaticky znovu spustí krok konfigurace CMake. Pokud krok configure skončí bez chyb, shromážděné informace jsou k dispozici v nástroji C++ IntelliSense a jazykových službách. Používají se také při operacích sestavení a ladění.

Řešení chyb mezipaměti CMake

Potřebujete-li k diagnostice problému více informací o stavu mezipaměti CMake, otevřete hlavní nabídku projektu nebo kontextovou nabídku CMakeLists.txt v Průzkumníku řešení a spusťte jeden z těchto příkazů:

  • Zobrazit mezipaměť otevře v editoru soubor CMakeCache.txt z kořenové složky sestavení. (Veškeré úpravy, které zde v souboru CMakeCache.txt provedete, se vymažou, pokud mezipaměť vyčistíte. Chcete-li provést změny, které zůstanou zachovány i po vyčištění mezipaměti, viz Přizpůsobení nastavení CMake.“

  • Otevřít složku mezipaměti otevře okno Průzkumníka do kořenové složky sestavení.

  • Clean Cache odstraní kořenovou složku sestavení, takže další krok konfigurace CMake začne z čisté mezipaměti.

  • Generate Cache vynutí spuštění kroku generování, i když Visual Studio považuje prostředí za aktuální.

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.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *