
This dropdown list includes the union of non-hidden Configure Presets defined in CMakePresets.json and CMakeUserPresets.json. It's the configurePreset value that's used when CMake is invoked to generate the project build system. The dropdown list in the middle indicates the active Configure Preset. Select Manage Connections to open Connection Manager.
CMAKE GENERATOR WINDOWS
This dropdown list includes your local machine, all SSH connections in Connection Manager by host name, and all Windows Subsystem for Linux (WSL) installations that Visual Studio can find: It's the system on which CMake is invoked to configure and build the project. The dropdown list on the left indicates the active Target System. Visual Studio provides dropdown lists for the Target Systems, Configure Presets, and Build Presets when CMakePresets.json integration is enabled: If you try to open or modify a CMakePresets.json file that doesn't exist, Visual Studio automatically creates a CMakePresets.json file with the default Configure Presets at the root of your project. If no CMakePresets.json or CMakeUserPresets.json file exists, or if CMakePresets.json or CMakeUserPresets.json is invalid, Visual Studio falls back on the following default Configure Presets: Windows example " You can also disable all CMake cache notifications (gold bars) by clearing Show CMake cache notifications. You can modify this behavior by selecting Never run configure step automatically in Tools > Options > CMake > General. Modify automatic configuration and cache notificationsīy default, Visual Studio automatically invokes configure each time the active Target System or Configure Preset changes. In the table, " Tools > Options enabled" means Use CMakePresets.json to drive CMake configure, build, and test is selected in Tools > Options > CMake > General. If no configuration file is present, default Configure Presets are used. The following table indicates when CMakePresets.json is used instead of CMakeSettings.json to drive CMake configuration and build in Visual Studio 2022 and Visual Studio 2019 version 16.10 and later. In some older versions of Visual Studio, Tools > Options > CMake > General only has a single option to enable CMakePresets.json integration: You can enable it in Tools > Options > CMake > General:Ĭlose and reopen the folder in Visual Studio to activate the integration.

Enable CMakePresets.json integration in Visual StudioĬMakePresets.json integration isn't enabled by default in Visual Studio. We recommend using CMake version 3.14 or later. So, CMake version 3.20 or later isn't strictly required when you're building with CMakePresets.json inside Visual Studio. However, Visual Studio reads and evaluates CMakePresets.json and CMakeUserPresets.json itself and doesn't invoke CMake directly with the -preset option. For an example and more information, see CMakePresets.json format.ĬMake version 3.20 or later is required when you're invoking CMake with CMakePresets.json (version 2 or later) from the command line.
CMAKE GENERATOR UPDATE
You can update your file version by incrementing the version field in the root object. Visual Studio supports version 2 or later for the CMakePresets.json and CMakeUserPresets.json files. Supported CMake and CMakePresets.json versions To enable or disable CMakePresets.json integration in Visual Studio, see Enable CMakePresets.json in Visual Studio 2019. Visual Studio never reads from both CMakePresets.json and CMakeSettings.json at the same time. We recommend CMakePresets.json as an alternative to CMakeSettings.json.
CMAKE GENERATOR HOW TO
For more information about how to use CMakePresets.json in Visual Studio Code, see Configure and build with CMake Presets.For more information about the Microsoft vendor maps and macro expansion, see CMakePresets.json and CMakeUserPresets.json Microsoft vendor maps.For more information about the format of CMakePresets.json, see the official CMake documentation.

This article contains information about CMakePresets.json integration with Visual Studio. Both files are supported in Visual Studio 2019 version 16.10 or later. CMakeUserPresets.json is for developers to save their own local builds. Use these files to drive CMake in Visual Studio and Visual Studio Code, in a continuous integration (CI) pipeline, and from the command line.ĬMakePresets.json is for saving project-wide builds. CMake supports two files that allow users to specify common configure, build, and test options and share them with others: CMakePresets.json and CMakeUserPresets.json.
