Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Visual Studio maakt gebruik van een CMake-configuratiebestand voor het genereren en bouwen van CMake.
CMakePresets.json wordt ondersteund door Visual Studio 2019 versie 16.10 of hoger en is het aanbevolen CMake-configuratiebestand.
CMakePresets.json wordt rechtstreeks ondersteund door CMake en kan worden gebruikt om CMake-generatie en -build te sturen vanuit Visual Studio, vanuit VS Code, in een pijplijn voor continue integratie en vanaf de opdrachtregel op Windows, Linux en Mac. Zie CMakePresets.jsonvoor meer informatie over .
Als u projecten onderhoudt die een CMakeSettings.json bestand gebruiken voor CMake-buildconfiguratie, bieden Visual Studio 2019 en latere versies een CMake-instellingeneditor. Met de editor kunt u CMake-configuraties toevoegen en hun instellingen eenvoudig aanpassen. Het is bedoeld als een eenvoudiger alternatief voor het handmatig bewerken van het CMakeSettings.json bestand. Als u het bestand echter liever rechtstreeks bewerkt, kunt u de JSON-koppeling Bewerken in de rechterbovenhoek van de editor selecteren.
Als u de CMake-instellingeneditor wilt openen, selecteert u de vervolgkeuzelijst Configuratie in de hoofdwerkbalk en kiest u Configuraties beheren.
Nu ziet u de instellingeneditor met de geïnstalleerde configuraties aan de linkerkant.
In het linkerdeelvenster ziet u de geïnstalleerde configuraties (x86-Debug). In het rechterdeelvenster ziet u de instellingen voor de geselecteerde configuratie. De instellingen omvatten de configuratienaam, het configuratietype (ingesteld op Foutopsporing), de toolset (ingesteld op msvc_x86), het CMake-hulpprogrammaketenbestand (leeg), de buildhoofdmap (bevat ${env:USERPROFILE}\CMakeBuilds\${workspaceHash}\build\${name}), CMake-opdrachtargumenten (leeg) en opdrachtargumenten bouwen (-v).
Visual Studio biedt standaard één x64-Debug configuratie. U kunt meer configuraties toevoegen door het groene plusteken te kiezen. De instellingen die u in de editor ziet, kunnen variëren, afhankelijk van welke configuratie is geselecteerd.
De opties die u in de editor kiest, worden geschreven naar een bestand met de naam CMakeSettings.json. Dit bestand bevat opdrachtregelargumenten en omgevingsvariabelen die worden doorgegeven aan CMake wanneer u de projecten bouwt. Visual Studio wijzigt CMakeLists.txt nooit automatisch. Door CMakeSettings.json kun je de build via Visual Studio aanpassen terwijl de CMake-projectbestanden ongewijzigd blijven, zodat anderen in je team ze kunnen gebruiken met de hulpprogramma's die ze al gebruiken.
Algemene instellingen voor CMake
De volgende instellingen zijn beschikbaar onder de kop Algemeen :
Configuratienaam
Komt overeen met de naaminstelling . Deze naam wordt weergegeven in de vervolgkeuzelijst C++-configuratie. U kunt de ${name} macro gebruiken om andere eigenschapswaarden op te stellen, zoals paden.
Configuratietype
Komt overeen met de configurationType-instelling . Hiermee definieert u het buildconfiguratietype voor de geselecteerde generator. Momenteel ondersteunde waarden zijn Debug, MinSizeRel, Release en RelWithDebInfo. Het komt overeen met CMAKE_BUILD_TYPE.
Toolset
Komt overeen met de instelling geërfde omgevingen. Hiermee definieert u de compileromgeving die wordt gebruikt om de geselecteerde configuratie te bouwen. Ondersteunde waarden zijn afhankelijk van het type configuratie. Als u een aangepaste omgeving wilt maken, kiest u de koppeling JSON bewerken in de rechterbovenhoek van de editor Instellingen en bewerkt u het CMakeSettings.json bestand rechtstreeks.
CMake toolchain-bestand
Pad naar het CMake-hulpprogrammaketenbestand. Dit pad wordt aan CMake doorgegeven als "-DCMAKE_TOOLCHAIN_FILE = <filepath>. Toolchain-bestanden geven locaties van compilers en hulpprogramma's, evenals andere doelplatform- en compilergerelateerde informatie, op. Visual Studio maakt standaard gebruik van het vcpkg-toolchainbestand als deze instelling niet is opgegeven.
Root aanmaken
Komt overeen met buildRoot. Komt overeen met CMAKE_BINARY_DIR, en specificeert waar de CMake-cache gemaakt moet worden. De opgegeven map wordt gemaakt als deze niet bestaat.
Opdrachtargumenten
De volgende instellingen zijn beschikbaar onder de kop Opdrachtargumenten :
CMake-opdrachtargumenten
Komt overeen met cmakeCommandArgs. Specificeert eventuele opdrachtregelopties die worden doorgegeven aan CMake.
Opdrachtargumenten bouwen
Komt overeen met buildCommandArgs. Hiermee specificeert u meer opties om door te sturen naar het onderliggende buildsysteem. Als u bijvoorbeeld bij het gebruik van de Ninja-generator -v meegeeft, dwingt dit Ninja om opdrachtregels uit te voeren.
CTest-opdrachtargumenten
Komt overeen met ctestCommandArgs. Hiermee geeft u meer opdrachtregelopties om door te geven aan CTest bij het uitvoeren van tests.
Algemene instellingen voor externe builds
Voor configuraties zoals Linux die externe builds gebruiken, zijn ook de volgende instellingen beschikbaar:
rsync opdrachtargumenten
Extra opdrachtregelopties doorgegeven aan rsync, een snel, veelzijdig hulpprogramma voor het kopiëren van bestanden.
CMake-variabelen en cache
Met deze instellingen kunt u CMake-variabelen instellen en opslaan in CMakeSettings.json. Ze worden tijdens de build doorgegeven aan CMake en overschrijven de waarden die zich in het CMakeLists.txt bestand bevinden. U kunt deze sectie op dezelfde manier gebruiken als u de CMakeGUI kunt gebruiken om een lijst weer te geven met alle CMake-variabelen die beschikbaar zijn om te bewerken. Kies de knop Opslaan en cache genereren om een lijst weer te geven met alle CMake-variabelen die kunnen worden bewerkt, inclusief geavanceerde variabelen (volgens de CMakeGUI). U kunt de lijst filteren op variabelenaam.
Komt overeen met variabelen. Bevat een naam-waardepaar van CMake-variabelen die als -D name=value zijn doorgegeven aan CMake. Als in uw CMake-projectbuildinstructies de toevoeging van variabelen rechtstreeks aan het CMake-cachebestand wordt opgegeven, wordt u aangeraden deze hier toe te voegen.
Geavanceerde instellingen
CMake-generator
Komt overeen met generator. Hiermee wordt de CMake-switch -G toegewezen en wordt de CMake-generator opgegeven die moet worden gebruikt. Deze eigenschap kan ook worden gebruikt als macro, ${generator}bij het opstellen van andere eigenschapswaarden. Visual Studio ondersteunt momenteel de volgende CMake-generatoren:
- "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"
Omdat Ninja is ontworpen voor snelle buildsnelheden in plaats van flexibiliteit en functie, wordt deze ingesteld als de standaardinstelling. Sommige CMake-projecten kunnen echter niet correct worden gebouwd met Ninja. Als dat het geval is, kunt u CMake instrueren om in plaats daarvan een Visual Studio-project te genereren.
IntelliSense-modus
De IntelliSense-modus die wordt gebruikt door de IntelliSense-engine. Als er geen modus is geselecteerd, neemt Visual Studio de modus over van de opgegeven toolset.
Map installeren
De map waarin CMake doelen installeert. Wordt toegewezen aan CMAKE_INSTALL_PREFIX.
Uitvoerbaar CMake-bestand
Het volledige pad naar het uitvoerbare CMake-programma, inclusief de bestandsnaam en extensie. Hiermee kunt u een aangepaste versie van CMake gebruiken met Visual Studio. Geef voor externe builds de CMake-locatie op de externe computer op.
Voor configuraties zoals Linux die externe builds gebruiken, zijn ook de volgende instellingen beschikbaar:
Externe CMakeLists.txt root
De map op de externe computer die het hoofdbestand CMakeLists.txt bevat.
Externe installatiewortel
De map op de externe computer waarop CMake doelen installeert. Wordt toegewezen aan CMAKE_INSTALL_PREFIX.
Externe kopieerbronnen
Hiermee geeft u op of bronbestanden naar de externe computer moeten worden gekopieerd en kunt u opgeven of u rsync of sftp wilt gebruiken.
Rechtstreeks CMakeSettings.json bewerken
U kunt ook rechtstreeks bewerken CMakeSettings.json om aangepaste configuraties te maken. De instellingeneditor heeft een JSON-knop Bewerken in de rechterbovenhoek waarmee het bestand wordt geopend voor bewerken.
In het volgende voorbeeld ziet u een voorbeeldconfiguratie die u als uitgangspunt kunt gebruiken:
{
"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": ""
},
Met JSON IntelliSense kunt u het CMakeSettings.json bestand bewerken:
De JSON-editor informeert u ook wanneer u incompatibele instellingen kiest.
Zie CMakeSettings.json schemareferentie voor meer informatie over elk van de eigenschappen in het bestand.
Visual Studio 2017 biedt verschillende CMake-configuraties waarmee wordt gedefinieerd hoe CMake wordt aangeroepen om de CMake-cache voor een bepaald project te maken. Als u een nieuwe configuratie wilt toevoegen, selecteert u de vervolgkeuzelijst configuratie in de werkbalk en kiest u Configuraties beheren:
U kunt kiezen uit de lijst met vooraf gedefinieerde configuraties:
De eerste keer dat u een configuratie selecteert, maakt Visual Studio een CMakeSettings.json bestand in de hoofdmap van uw project. Dit bestand wordt gebruikt om het CMake-cachebestand opnieuw te maken, bijvoorbeeld na een schone bewerking.
Als u een andere configuratie wilt toevoegen, klikt u met de rechtermuisknop CMakeSettings.json en kiest u Configuratie toevoegen.
U kunt het bestand ook bewerken met de CMake Settings Editor. Klik met de rechtermuisknop in CMakeSettings.jsonSolution Explorer en kies CMake-instellingen bewerken. Of selecteer Configuraties beheren in de vervolgkeuzelijst configuratie boven aan het editorvenster.
U kunt ook rechtstreeks bewerken CMakeSettings.json om aangepaste configuraties te maken. In het volgende voorbeeld ziet u een voorbeeldconfiguratie die u als uitgangspunt kunt gebruiken:
{
"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": ""
},
Met JSON IntelliSense kunt u het CMakeSettings.json bestand bewerken:
Het JSON IntelliSense-pop-upvenster voor 'configuraties' toont onder andere buildCommandArgs, buildRoot, cmakeCommandArgs, configurationType.
Zie de schemareferentie voor meer informatie over elk van de eigenschappen in het bestandCMakeSettings.json.
Zie ook
CMake Projects in Visual Studio
Een Linux CMake-project configureren
Verbinding maken met uw externe Linux-computer
CMake-foutopsporingssessies configureren
uw Linux-project implementeren, uitvoeren en fouten opsporen
vooraf gedefinieerde configuratiereferentie voor CMake