Build-Tool in Microsoft-IDE integriert CMake 3.14 mit Visual Studio 2019 nutzen
In der jüngsten Version von Visual Studio 2019 bietet Microsoft verschiedene Neuerungen. Dazu gehört auch die nahezu vollständige Unterstützung von CMake 3.14.
Anbieter zum Thema

Neben der direkten Unterstützung von CMake 3.14 unterstützt Visual Studio 2019 auch eine dateibasierte API für die Zusammenarbeit mit dem Build-Tool. Die dateibasierte API ermöglicht es einem Client, Abfragedateien vor der Generierung des Build-Systems zu schreiben. Während der Generierung des Build-Systems liest CMake dazu die Abfragedateien und schreibt Objektmodell-Antwortdateien.
Vor der Einführung dieser API wurde der CMake-Server verwendet, um die entsprechenden Informationen zu erhalten. Das alte Modell wird weiterhin unterstützt, aber ab Version 3.14 können Entwickler auch das neue Modell nutzen. Die dateibasierte API bietet einen einfacheren, standardisierten Pfad für die Zukunft mit offiziellem Support in CMake.
Das Extrahieren der Informationen zum Aktualisieren der Visual-Studio-Benutzeroberfläche ist schneller, da nur die Antwortdateien gelesen werden und CMake nicht im Servermodus ausgeführt werden muss. Mit der neuen Version spielt es keine Rolle mehr wo der binäre CMake-Ursprung war, sofern die Version 3.14 von CMake zum Einsatz kommt. Microsoft gibt an, dass die Indizierung schneller abläuft, und auch IntelliSense wesentlich schneller arbeitet, als bei den Vorgängerversionen.
In CMake 3.14 ist auch die Unterstützung verschiedener „Visual Studio 2019“-Generationen enthalten. Der neue Generator dafür trägt die Bezeichnung „Visual Studio 16 2019“. Hier wurde das Plattform-Targeting dahingehend vereinfacht, dass über den Parameter „-A“ eine spezifische Architektur angegeben werden kann. Um zum Beispiel den neuen Visual Studio 2019 Generator zu verwenden und die x64-Plattform zu nutzen, wird folgender Befehl verwendet:
cmake.exe -G “Visual Studio 16 2019” -A x64
In den Release Notes zu CMake 3.14 finden sich alle Neuerungen des Build-Tools.
(ID:45970666)