Vlastní nastavení sestavení CMake
Visual Studio používá konfigurační soubor CMake k řízení generování a sestavení CMake. CMakePresets.json
podporuje Visual Studio 2019 verze 16.10 nebo novější a je doporučeným konfiguračním souborem CMake. CMakePresets.json
nástroj CMake podporuje přímo a dá se použít k řízení generování a sestavování CMake ze sady Visual Studio, z VS Code, v kanálu kontinuální integrace a z příkazového řádku ve Windows, Linuxu a Macu. Další informace najdete CMakePresets.json
v tématu Konfigurace a sestavení pomocí předvoleb CMake.
Pokud udržujete projekty, které používají CMakeSettings.json
soubor pro konfiguraci sestavení CMake, visual Studio 2019 a novější verze poskytují editor nastavení CMake. Editor umožňuje přidat konfigurace CMake a snadno přizpůsobit jejich nastavení. Má být jednodušší alternativou k ruční úpravě CMakeSettings.json
souboru. Pokud ale chcete soubor upravit přímo, můžete v pravém horním rohu editoru vybrat odkaz Upravit JSON .
Editor nastavení CMake otevřete tak, že na hlavním panelu nástrojů vyberete rozevírací seznam Konfigurace a zvolíte Spravovat konfigurace.
Teď uvidíte Editor nastavení s nainstalovanými konfiguracemi na levé straně.
V levém podokně se zobrazují nainstalované konfigurace (x86–Debug). V pravém podokně se zobrazí nastavení pro vybranou konfiguraci. Nastavení zahrnují název konfigurace, typ konfigurace (nastavený na Ladění), sadu nástrojů (nastavenou na msvc_x86), soubor sady nástrojů CMake (prázdný), kořen sestavení (obsahuje ${env:USERPROFILE}\CMakeBuilds\${workspaceHash}\build\${name}), argumenty příkazu CMake (prázdné) a argumenty příkazu sestavení (-v).
Visual Studio ve výchozím nastavení poskytuje jednu x64-Debug
konfiguraci. Další konfigurace můžete přidat výběrem zeleného znaménka plus. Nastavení, která vidíte v editoru, se můžou lišit v závislosti na tom, jakou konfiguraci je vybraná.
Možnosti, které zvolíte v editoru, se zapisují do souboru s názvem CMakeSettings.json
. Tento soubor poskytuje argumenty příkazového řádku a proměnné prostředí, které se předávají CMake při sestavování projektů. Visual Studio se nikdy automaticky neupravuje CMakeLists.txt
. Díky použití CMakeSettings.json
sady Visual Studio můžete sestavení přizpůsobit prostřednictvím sady Visual Studio a nechat soubory projektu CMake nedotčené, aby je ostatní uživatelé ve vašem týmu mohli využívat s jinými nástroji, které používají.
Obecné nastavení CMake
Následující nastavení jsou k dispozici pod nadpisem Obecné :
Název konfigurace
Odpovídá nastavení názvu. Tento název se zobrazí v rozevíracím seznamu konfigurace C++. Makro můžete použít ${name}
k vytvoření dalších hodnot vlastností, jako jsou cesty.
Typ konfigurace
Odpovídá nastavení configurationType. Definuje typ konfigurace sestavení pro vybraný generátor. Aktuálně podporované hodnoty jsou Debug, MinSizeRel, Release a RelWithDebInfo. Mapuje se na CMAKE_BUILD_TYPE
.
Sada nástrojů
Odpovídá nastavení zděděnéEnvironments. Definuje prostředí kompilátoru, které se používá k sestavení vybrané konfigurace. Podporované hodnoty závisí na typu konfigurace. Pokud chcete vytvořit vlastní prostředí, zvolte odkaz Upravit JSON v pravém horním rohu editoru Nastavení a upravte CMakeSettings.json
soubor přímo.
CMake toolchain file
Cesta k souboru toolchain CMake. Tato cesta se předává CMake jako "-DCMAKE_TOOLCHAIN_FILE = <filepath>
. Soubory sady nástrojů určují umístění kompilátorů a nástrojů sady nástrojů a dalších cílových platforem a informací souvisejících s kompilátorem. Visual Studio ve výchozím nastavení používá soubor vcpkg toolchain, pokud toto nastavení není zadané.
Kořen sestavení
Odpovídá buildRoot. Mapuje na CMAKE_BINARY_DIR
a určuje, kam se má vytvořit mezipaměť CMake. Zadaná složka se vytvoří, pokud neexistuje.
Argumenty příkazů
V záhlaví Argumenty příkazu jsou k dispozici následující nastavení:
Argumenty příkazu CMake
Odpovídá cmakeCommandArgs. Určuje další možnosti příkazového řádku předané CMake.
Argumenty příkazu sestavení
Odpovídá buildCommandArgs. Určuje více přepínačů, které se mají předat do základního systému sestavení. Předání například -v
při použití generátoru Ninja vynutí Ninja výstup příkazové řádky.
Argumenty příkazu CTest
Odpovídá ctestCommandArgs. Určuje více možností příkazového řádku, které se mají předat CTest při spouštění testů.
Obecná nastavení pro vzdálené sestavení
Pro konfigurace, jako je Linux, které používají vzdálené sestavení, jsou k dispozici také následující nastavení:
rsync
argumenty příkazu
Další možnosti příkazového řádku předané rsync
, rychlý, všestranný nástroj pro kopírování souborů.
Proměnné CMake a mezipaměť
Tato nastavení umožňují nastavit proměnné CMake a uložit je do CMakeSettings.json
souboru . Předají se do CMake v době sestavení a přepíšou všechny hodnoty, které jsou v CMakeLists.txt
souboru. Tento oddíl můžete použít stejným způsobem jako CMakeGUI k zobrazení seznamu všech proměnných CMake, které jsou k dispozici pro úpravy. Výběrem tlačítka Uložit a vygenerovat mezipaměť zobrazíte seznam všech proměnných CMake, které jsou k dispozici pro úpravy, včetně rozšířených proměnných (podle CMakeGUI). Seznam můžete filtrovat podle názvu proměnné.
Odpovídá proměnným. Obsahuje pár name-value proměnných CMake předaných jako -D name=value
CMake. Pokud pokyny k sestavení projektu CMake určují přidání všech proměnných přímo do souboru mezipaměti CMake, doporučujeme je sem přidat.
Rozšířené nastavení
Generátor CMake
Odpovídá generátoru. Mapuje se na přepínač CMake -G
a určuje generátor CMake, který se má použít. Tuto vlastnost lze také použít jako makro, ${generator}
při vytváření jiných hodnot vlastností. Visual Studio aktuálně podporuje následující generátory CMake:
- "Ninja"
- "Unix Makefiles"
- Visual Studio 16 2019
- Visual Studio 16 2019 Win64
- Visual Studio 16 2019 ARM
- Visual Studio 15 2017
- Visual Studio 15 2017 Win64
- Visual Studio 15 2017 ARM
- Visual Studio 14 2015
- Visual Studio 14 2015 Win64
- Visual Studio 14 2015 ARM
Protože Ninja je navržen pro rychlé rychlosti sestavení místo flexibility a funkce, je nastavena jako výchozí. Některé projekty CMake ale nemusí správně sestavovat pomocí Ninja. V takovém případě můžete dát CMake pokyn, aby místo toho vygeneroval projekt sady Visual Studio.
Režim IntelliSense
Režim IntelliSense používaný modulem IntelliSense. Pokud není vybraný žádný režim, Sada Visual Studio zdědí režim ze zadané sady nástrojů.
Instalace adresáře
Adresář, ve kterém CMake instaluje cíle. Mapuje na CMAKE_INSTALL_PREFIX
.
Spustitelný soubor CMake
Úplná cesta ke spustitelnému souboru programu CMake, včetně názvu a přípony souboru. Umožňuje používat vlastní verzi CMake se sadou Visual Studio. V případě vzdálených sestavení zadejte umístění CMake na vzdáleném počítači.
Pro konfigurace, jako je Linux, které používají vzdálené sestavení, jsou k dispozici také následující nastavení:
Kořenový adresář vzdáleného CMakeLists.txt
Adresář na vzdáleném počítači, který obsahuje kořenový CMakeLists.txt
soubor.
Kořenový adresář vzdálené instalace
Adresář na vzdáleném počítači, ve kterém CMake instaluje cíle. Mapuje na CMAKE_INSTALL_PREFIX
.
Zdroje vzdáleného kopírování
Určuje, jestli se mají zdrojové soubory kopírovat do vzdáleného počítače, a umožňuje určit, jestli se má použít rsync nebo sftp.
Přímé úpravy CMakeSettings.json
Můžete také přímo upravit CMakeSettings.json
a vytvořit vlastní konfigurace. Editor nastavení má v pravém horním rohu tlačítko Upravit JSON, které otevře soubor pro úpravy.
Následující příklad ukazuje ukázkovou konfiguraci, kterou můžete použít jako výchozí bod:
{
"name": "x86-Debug",
"generator": "Ninja",
"configurationType": "Debug",
"inheritEnvironments": [ "msvc_x86" ],
"buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
"installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "-v",
"ctestCommandArgs": ""
},
Json IntelliSense vám pomůže upravit CMakeSettings.json
soubor:
Editor JSON vás také informuje, když zvolíte nekompatibilní nastavení.
Další informace o jednotlivých vlastnostech v souboru naleznete v tématu CMakeSettings.json odkaz schématu.
Visual Studio 2017 poskytuje několik konfigurací CMake, které definují, jak se CMake vyvolá za účelem vytvoření mezipaměti CMake pro daný projekt. Pokud chcete přidat novou konfiguraci, vyberte na panelu nástrojů rozevírací seznam konfigurace a zvolte Spravovat konfigurace:
Můžete si vybrat ze seznamu předdefinovaných konfigurací:
Při prvním výběru konfigurace vytvoří Visual Studio CMakeSettings.json
soubor v kořenové složce projektu. Tento soubor slouží k opětovnému vytvoření souboru mezipaměti CMake, například po operaci Vyčištění .
Pokud chcete přidat další konfiguraci, klikněte pravým tlačítkem myši CMakeSettings.json
a zvolte Přidat konfiguraci.
Soubor můžete také upravit pomocí Editoru nastavení CMake. Klikněte pravým tlačítkem na CMakeSettings.json
Průzkumník řešení a zvolte Upravit nastavení CMake. Nebo v rozevíracím seznamu konfigurace v horní části okna editoru vyberte Spravovat konfigurace .
Můžete také přímo upravit CMakeSettings.json
a vytvořit vlastní konfigurace. Následující příklad ukazuje ukázkovou konfiguraci, kterou můžete použít jako výchozí bod:
{
"name": "x86-Debug",
"generator": "Ninja",
"configurationType": "Debug",
"inheritEnvironments": [ "msvc_x86" ],
"buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
"installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "-v",
"ctestCommandArgs": ""
},
Json IntelliSense vám pomůže upravit CMakeSettings.json
soubor:
Automaticky otevírané okno JSON IntelliSense pro "konfigurace" ukazuje buildCommandArgs, buildRoot, cmakeCommandArgs, configurationType, mimo jiné.
Další informace o jednotlivých vlastnostech v souboru naleznete CMakeSettings.json
v referenčních informacích ke schématu.
Viz také
Projekty CMake v sadě Visual Studio
Konfigurace projektu Linux CMake
Připojení ke vzdálenému počítači s Linuxem
Konfigurace ladicích relací CMake
Nasazení, spuštění a ladění projektu Linux
Referenční informace o předdefinované konfiguraci CMake