Proyectos de CMake en Visual Studio
CMake es una herramienta de código abierto multiplataforma para definir procesos de compilación que se ejecutan en varias plataformas. En este artículo se da por hecho que está familiarizado con CMake. Para obtener más información sobre CMake, vea la documentación de CMake. El tutorial de CMake es una buena manera de empezar a obtener más información.
Nota
CMake se ha integrado cada vez más con Visual Studio en las últimas versiones. Para ver la documentación de su versión preferida de Visual Studio, use el control de selector Versión. Se encuentra en la parte superior de la tabla de contenido de esta página.
La compatibilidad nativa de Visual Studio con CMake permite editar, compilar y depurar proyectos de CMake en Windows, en el Subsistema de Windows para Linux (WSL) y en sistemas remotos desde la misma instancia de Visual Studio. Visual Studio consume directamente los archivos de proyecto de CMake (como CMakeLists.txt ) para los propósitos de IntelliSense y la exploración. Visual Studio invoca cmake.exe directamente para la configuración y la compilación de CMake.
Instalación
El componente Herramientas de CMake en C++ para Windows se instala como parte de las cargas de trabajo Desarrollo para el escritorio con C++ y Desarrollo de Linux con C++ . Se necesitan tanto el componente Herramientas de CMake en C++ para Windows como Desarrollo de Linux con C++ para el desarrollo de CMake multiplataforma.

Para obtener más información, vea Instalación de la carga de trabajo de Linux para C++ en Visual Studio.
Integración del IDE
Al abrir una carpeta que contiene un archivo, sucede lo siguiente.

Visual Studio agrega elementos de CMake al menú Proyecto, con comandos para ver y editar scripts de CMake.
En el Explorador de soluciones se muestra la estructura de carpetas y archivos.
Visual Studio ejecuta CMake y genera el archivo de caché de CMake (
CMakeCache.txt) para la configuración predeterminada. La línea de comandos de CMake se muestra en la ventana de salida, junto con otras salidas de CMake.En segundo plano, Visual Studio empieza a indexar los archivos de código fuente para habilitar IntelliSense, la información de exploración, la refactorización y así sucesivamente. Mientras trabaja, Visual Studio supervisa los cambios en el editor y también en el disco para mantener sincronizado su índice con los orígenes.
Una vez que la generación de caché de CMake se ha llevado a cabo correctamente, también puede ver los proyectos organizados lógicamente por destinos. Elija Targets view (Vista de destinos) en la lista desplegable de la barra de herramientas del Explorador de soluciones:

Elija el botón Mostrar todos los archivos de la parte superior Explorador de soluciones ver todos los resultados generados por CMake en las carpetas.
Use el archivo CMakeLists.txt en cada carpeta del proyecto tal como lo haría en cualquier proyecto de CMake. Puede especificar archivos de código fuente, buscar bibliotecas, establecer opciones del compilador y del enlazador, y especificar otra información relacionada con el sistema de compilación. Para obtener más información sobre los servicios de lenguaje CMake que proporciona Visual Studio, vea Edición de archivos CMakeLists.txt.
Visual Studio usa un archivo de configuración de CMake para impulsar la generación y la compilación de la caché de CMake. Para obtener más información, vea Configuración de proyectos de CMake y Compilación de proyectos de CMake.
Para pasar argumentos a un archivo ejecutable en tiempo de depuración, puede usar otro archivo denominado launch.vs.json . Para obtener más información sobre la depuración de proyectos de CMake multiplataforma en Visual Studio, vea Depuración de proyectos de CMake.
La mayoría de las características del lenguaje C++ y de Visual Studio son compatibles con los proyectos de CMake en Visual Studio. Algunos ejemplos son:
Nota
Para otros tipos de proyectos Abrir carpeta, se usa un archivo JSON adicional CppProperties.json . Este archivo no es relevante para los proyectos de CMake.
Configuración de proyectos de CMake
El paso de configuración de CMake genera el sistema de compilación del proyecto. Esto equivale a invocar cmake.exe desde la línea de comandos. Para obtener más información sobre el paso de configuración de CMake, consulte la documentación de CMake.
Visual Studio usa un archivo de configuración de CMake para impulsar la generación y la compilación de CMake. CMakePresets.json es compatible con Visual Studio 2019 versión 16.10 o posteriores y es el archivo de configuración de CMake recomendado. CMakePresets.json es compatible directamente con CMake y se puede usar para impulsar la generación y la compilación de CMake desde Visual Studio, desde VS Code, en una canalización de integración continua y desde la línea de comandos en Windows, Linux y Mac. Para obtener más información sobre CMakePresets.json, consulte Configuración y compilación con valores preestablecidos de CMake. CMakeSettings.json está disponible para los clientes que usan una versión anterior de Visual Studio. Para obtener más información sobre CMakeSettings.json, consulte Personalización de la configuración de compilación de CMake.
Cuando realice cambios significativos en el archivo de configuración de CMake o en un archivo CMakeLists.txt , Visual Studio ejecutará automáticamente el paso de configuración de CMake. Puede invocar manualmente configure si selecciona configurar Project caché en la barra de herramientas. También puede cambiar las preferencias de configuración en Opciones de herramientas > CMake > General.

Si el paso de configuración finaliza sin errores, la información que está disponible es lo que impulsa C++ IntelliSense y los servicios de lenguaje. También se usa esta información en las operaciones de compilación y depuración.
También puede abrir una caché de CMake existente en Visual Studio. Para obtener más información, vea Apertura de una caché existente.
Personalización de las notificaciones y los comentarios de configuración
De forma predeterminada, la mayoría de los mensajes de configuración se suprimen a menos que haya un error. Para ver todos los mensajes, seleccione Opcionesdeherramientas CMakeHabilitar salida de diagnóstico de CMake detallada.
También puede deshabilitar todas las notificaciones de caché de CMake (barras doradas). Para ello, anule la selección de Mostrar notificaciones de la memoria caché de CMake.
Solución de problemas de errores de caché de CMake
Si necesita más información sobre el estado de caché de CMake para diagnosticar un problema, abra el menú principal de Proyecto o el menú contextual de en el Explorador de soluciones para ejecutar uno de estos comandos:
View CMakeCache.txt abre el archivo desde el directorio de compilación en el editor. Cualquier modificación que realice aquí para
CMakeCache.txtse borra si limpia la caché. Para realizar cambios que se conserven después de limpiar la caché, vea Personalización de la configuración de CMake o Configuración y compilación con valores preestablecidos de CMake.Delete Cache and Reconfigure (Eliminar la caché y reconfigurar) elimina el directorio de compilación y vuelve a configurarlo a partir de una caché limpia.
Configurar caché fuerza la ejecución del paso de generación aunque Visual Studio considere que el entorno está actualizado.
Compilar proyectos de CMake
El paso de compilación de CMake compila un árbol binario del proyecto ya generado. Esto equivale a invocar cmake --build desde la línea de comandos. Para obtener más información sobre el paso de compilación de CMake, consulte la documentación de CMake.
Para compilar un proyecto de CMake, tienes estas opciones:
En la barra de herramientas, busque la lista desplegable Elemento de inicio. Seleccione el destino preferido y presione F5, o bien haga clic en el botón Ejecutar en la barra de herramientas. Primero se compila el proyecto de manera automática, como una solución de Visual Studio.
Haga clic con el botón derecho en el destino de CMake con la Vista de destinos de CMake activa en el Explorador de soluciones y seleccione Compilar en el menú contextual.
En el menú principal, seleccione Compilar todo. Asegúrese de que hay un destino de CMake seleccionado en la lista desplegable Elemento de inicio de la barra de herramientas.
Como cabría esperar, los resultados de la compilación se muestran en la ventana de Salida y en la Lista de errores.

Modificación de la configuración de compilación
Visual Studio usa un archivo de configuración de CMake para impulsar las compilaciones de CMake. Los archivos de configuración de CMake encapsulan opciones de compilación, como modificadores de herramientas de compilación nativas y variables de entorno. Si CMakePresets.json es el archivo de configuración activo, consulte Configuración y compilación con valores preestablecidos de CMake. Si CMakeSettings.json es el archivo de configuración activo, consulte Personalización de la configuración de compilación de CMake. CMakePresets.json está disponible con Visual Studio 2019 versión 16.10 o posteriores y es el archivo de configuración de CMake recomendado.
Depuración de proyectos de CMake
Todos los destinos de CMake ejecutables se muestran en la lista desplegable Elemento de inicio en la barra de herramientas. Para iniciar la depuración, seleccione una y presione el botón Iniciar depuración de la barra de herramientas. En un proyecto de CMake, la opción "Documento actual" solo es válida para los archivos .cpp.
Lista desplegable Elemento
Los comandos Depurar o F5 compilan primero el proyecto si se han realizado cambios desde la compilación anterior. Los cambios en el archivo de configuración de CMake(CMakePresets.json o CMakeSettings.json)o un elemento hace que se vuelva a generar la memoria caché de CMake.
Puede personalizar una sesión de depuración de CMake mediante el establecimiento de las propiedades en el archivo launch.vs.json. Para personalizar la configuración de depuración de un destino específico, seleccione el destino en la lista desplegable Elemento de inicio y presione Depurar depuración e iniciar Configuración para active-target >. Para obtener más información sobre las sesiones de depuración de CMake, vea Configuración de sesiones de depuración de CMake.
Solo mi código para proyectos de CMake
Cuando se compila para Windows mediante el compilador de MSVC, los proyectos de CMake admiten la característica de depuración Solo mi código. Para cambiar la configuración Solo mi código, vaya a Opciones deherramientas Depuracióngeneral.
Editar y continuar para proyectos de CMake
Al compilar para Windows con el compilador de MSVC, los proyectos de CMake son compatibles con Editar y continuar. Agregue el código siguiente al archivo CMakeLists.txt para habilitar Editar y continuar.
if(MSVC)
target_compile_options(<target> PUBLIC "/ZI")
target_link_options(<target> PUBLIC "/ZI" "/INCREMENTAL")
endif()
Asociación a un proyecto de CMake que se ejecuta en Linux
Visual Studio permite depurar un proceso que se ejecuta en un sistema Linux remoto o WSL y depurarlo con el depurador GDB. Para empezar, seleccione Depurarasociar al proceso... , establezca el tipo de conexión en SSHy seleccione el destino de conexión en la lista de conexiones de la Connection Manager. Seleccione un proceso de la lista de procesos disponibles y presione Asociar. GDB debe estar instalado en el equipo Linux. Para obtener más información sobre las conexiones SSH, consulte el Administrador de conexiones.

Apertura de una caché existente
Al abrir un archivo de caché de CMake existente ( CMakeCache.txt ), Visual Studio no intenta administrar la caché y el árbol de compilación automáticamente. Las herramientas personalizadas o preferidas tienen un control completo sobre cómo CMake configura el proyecto.
Puede agregar una caché de CMake existente a un proyecto abierto. Se hace de la misma manera que para agregar una nueva configuración. Para obtener más información, consulte nuestra entrada de blog sobre cómo abrir una caché existente en Visual Studio.
Nota
La experiencia de caché existente predeterminada depende de cmake-server, que se quitó en la versión 3.20 de CMake. Para seguir usando la funcionalidad de caché existente en la versión 16.10 y posteriores de Visual Studio 2019, siga uno de estos pasos:
- Instale manualmente la versión 3.19 de CMake o una inferior. A continuación, establezca la propiedad
cmakeExecutableen la configuración de caché existente para usar esa versión de CMake. - En la configuración de caché existente, establezca la propiedad
cacheGenerationCommandpara permitir que Visual Studio solicite los archivos de API basadas en archivos de CMake necesarios. Para obtener más información sobre esta propiedad, consulte la referencia de CMakeSettings.json. - Use un archivo de consulta para solicitar los archivos de API basadas en archivos de CMake al generar la memoria caché antes de que se abra en Visual Studio. Para obtener instrucciones sobre el archivo de consulta, vea la sección siguiente, Solución avanzada de problemas de caché de CMake.
Solución avanzada de problemas de caché de CMake
Visual Studio usa la API basada en archivos de CMake (en la versión 3.14 y posteriores) para rellenar el editor con información específica de la estructura del proyecto. Para obtener más información, vea la entrada de blog del equipo de C++ sobre las áreas de trabajo con varias raíces y la API basada en archivos.
Antes de generar la caché de CMake, es posible que las herramientas personalizadas o preferidas deban crear un archivo de consulta denominado .cmake/api/v1/query/client-MicrosoftVS/query.json en la carpeta de salida de compilación (la carpeta que contiene CMakeCache.txt ). El archivo de consulta debe contener lo siguiente:
{"requests":[{"kind":"cache","version":2},{"kind":"cmakeFiles","version":1},{"kind":"codemodel","version":2}]}
Cuando las herramientas personalizadas o preferidas generan la memoria caché, CMake coloca los archivos en .cmake/api/v1/response , que Visual Studio usa para rellenar el editor con información específica de la estructura del proyecto.
Edición de archivos CMakeLists.txt
Para editar un archivo CMakeLists.txt , haga clic con el botón derecho en el archivo en el CMakeLists.txt y seleccione Abrir. Si realiza cambios en el archivo, aparece una barra de estado de color amarillo y le informa de que IntelliSense se va a actualizar. Le ofrece la oportunidad de cancelar la operación de actualización. Para obtener información sobre CMakeLists.txt , consulte la CMakeLists.txt.

Tan pronto como se guarde el archivo, se vuelve a ejecutar el paso de configuración de manera automática y se muestra la información en la ventana Salida. Los errores y las advertencias se muestran en la Lista de errores o en la ventana Salida. Haga doble clic en un error en la lista de errores para ir a la línea de ofendencia en .

Servicios de lenguaje para CMake
Los servicios de lenguaje para CMake están disponibles en Visual Studio 2019 versión 16.5 o posteriores. Las características de navegación de código, como Ir a definición, Ver la definición sin salir y Buscar todas las referencias son ahora compatibles con variables, funciones y destinos en archivos de script de CMake. Para obtener más información, vea Navegación de código para scripts de CMake.

Manipulación de proyectos de CMake
La manipulación de proyectos de CMake está disponible Visual Studio 2019 versión 16.5 o posteriores. La manipulación de proyectos le permite agregar, quitar o cambiar el nombre de los archivos de código fuente y los destinos de los proyectos de CMake sin modificar manualmente los scripts de CMake. Al agregar o quitar archivos desde el Explorador de soluciones, Visual Studio editará automáticamente el proyecto de CMake. Si hay más de un lugar donde tiene sentido agregar o quitar una referencia a un script de CMake, Visual Studio le preguntará dónde quiere realizar el cambio y mostrará una vista previa de los cambios propuestos. Para obtener instrucciones paso a paso, vea Adición, eliminación y cambio de nombre de archivos y destinos en proyectos de CMake.

IntelliSense para proyectos de CMake
De forma predeterminada, Visual Studio usa el modo de IntelliSense que coincide con la arquitectura del compilador y del destino especificada en la configuración activa de CMake.
Si CMakePresets.json es el archivo de configuración de CMake activo, se pueden especificar opciones de IntelliSense adicionales con y en la Visual Studio Configuración del intelliSenseOptions proveedor. Para obtener más información, consulte la referencia de asignación de proveedor de configuración de Visual Studio.
Si CMakeSettings.json es el archivo de configuración de CMake activo, se pueden especificar opciones de IntelliSense adicionales con en CMakeSettings.json. Para obtener más información, consulte la referencia de CMakeSettings.json.
Configuración de IntelliSense con archivos de cadena de herramientas de CMake
Visual Studio configurará automáticamente IntelliSense en proyectos de CMake en función del valor de las variables de CMake que se hayan establecido en un archivo de cadena de herramientas de CMake en Visual Studio 2019 versión 16.9 o posteriores. Esto proporciona la configuración automática de IntelliSense cuando se usa un archivo de cadena de herramientas de CMake para la configuración y la compilación de CMake. Para obtener más información, consulte Configuración de IntelliSense con archivos de cadena de herramientas de CMake.
Integración de vcpkg
Los proyectos de CMake abiertos en Visual Studio se integran con vcpkg, un administrador de dependencias de C/C++ multiplataforma. Antes de usar vcpkg con Visual Studio, debe ejecutar vcpkg integrate install. Para obtener instrucciones y más información sobre vcpkg, consulte la documentación de vcpkg.
Si CMakeSettings.json es el archivo de configuración activo, Visual Studio pasará automáticamente el archivo de cadena de herramientas vcpkg ( ) a CMake. Este comportamiento se deshabilita automáticamente cuando se especifica cualquier otra cadena de herramientas en la configuración de los valores de CMake.
Si CMakePresets.json es el archivo de configuración activo, deberá establecer la ruta de acceso en en CMakePresets.json. Se recomienda usar la variable de entorno VCPKG_ROOT en lugar de una ruta de acceso absoluta para que el archivo se pueda compartir. Para obtener más información, vea Habilitación de la integración de vcpkg con valores preestablecidos de CMake. CMakePresets.json está disponible con Visual Studio 2019 versión 16.10 o posteriores y es el archivo de configuración de CMake recomendado.
Ejecutar CMake desde la línea de comandos
Si CMakePresets.json es el archivo de configuración activo de CMake, puede reproducir fácilmente las compilaciones locales fuera de Visual Studio. Para obtener más información, consulte Ejecución de CMake desde la línea de comandos o una canalización de integración continua. CMakePresets.json es compatible con Visual Studio 2019 versión 16.10 o posteriores y es el archivo de configuración de CMake recomendado.
Si CMakeSettings.json es el archivo de configuración activo de CMake, deberá pasar manualmente los argumentos codificados en el archivo CMakeSettings.json a CMake. Si ha instalado CMake desde el instalador de Visual Studio, puede ejecutarlo desde la línea de comandos siguiendo estos pasos:
Ejecute el archivo
vsdevcmd.batadecuado (x86/x64). Para obtener más información, vea el artículo sobre cómo compilar en la línea de comandos.Cambie a la carpeta de salida.
Ejecute CMake para compilar o configurar la aplicación.
Visual Studio 2017 incluye compatibilidad enriquecida con CMake, incluidos proyectos multiplataforma de CMake. El componente Visual C++ Tools for CMake usa la característica Abrir carpeta para permitir que el IDE consuma archivos de proyecto de CMake (por ejemplo, ) directamente con fines de IntelliSense y exploración. Se admiten generadores de Ninja y Visual Studio. Si usa un generador de Visual Studio, se genera un archivo de proyecto temporal y se pasa a MSBuild. Sin embargo, el proyecto no se carga nunca con fines de exploración o de IntelliSense. También puede importar una caché de CMake existente.
Instalación
El componente Herramientas de Visual C++ para CMake se instala como parte de las cargas de trabajo Desarrollo para el escritorio con C++ y Desarrollo de Linux con C++ .

Para obtener más información, vea Instalación de la carga de trabajo de Linux para C++ en Visual Studio.
Integración del IDE
Al elegir Archivo Abrir carpeta > para abrir una carpeta que contiene un CMakeLists.txt archivo, sucede lo siguiente:
Visual Studio agrega un elemento de menú CMake al menú principal, con los comandos para ver y modificar scripts de CMake.
En el Explorador de soluciones se muestra la estructura de carpetas y archivos.
Visual Studio ejecuta CMake y genera opcionalmente la caché de CMake para la configuración predeterminada, que es Debug x86. La línea de comandos de CMake se muestra en la ventana de salida, junto con otras salidas de CMake.
En segundo plano, Visual Studio empieza a indexar los archivos de código fuente para habilitar IntelliSense, la información de exploración, la refactorización y así sucesivamente. Mientras trabaja, Visual Studio supervisa los cambios en el editor y también en el disco para mantener sincronizado su índice con los orígenes.
Puede abrir carpetas que contengan cualquier número de proyectos de CMake. Visual Studio detecta y configura todos los archivos CMakeLists.txt "raíz" en el área de trabajo. Las operaciones de CMake (configurar, compilar y depurar), C++ IntelliSense y la exploración están disponibles para todos los proyectos de CMake del área de trabajo.

Los proyectos también se pueden ver organizados lógicamente por destinos. Elija Targets view (Vista de destinos) en la lista desplegable de la barra de herramientas del Explorador de soluciones:

Visual Studio usa un archivo denominado CMakeSettings.json para almacenar variables de entorno u opciones de línea de comandos para CMake. CMakeSettings.json también permite definir y almacenar varias configuraciones de compilación de CMake. Puede cambiar fácilmente entre ellas en el IDE.
En caso contrario, use CMakeLists.txt tal como haría en cualquier proyecto de CMake para especificar archivos de origen, buscar bibliotecas, establecer opciones del compilador y del vinculador y especificar otra información relacionada con el sistema de compilación.
Si necesita pasar argumentos a un archivo ejecutable en tiempo de depuración, puede usar otro archivo denominado launch.vs.json. En algunos escenarios, Visual Studio genera automáticamente estos archivos. Puede editarlos manualmente o incluso crearlos usted mismo.
Nota
Para otros tipos de proyectos Abrir carpeta, se usan dos archivos JSON adicionales: CppProperties.json y tasks.vs.json. Ninguno de estos es pertinente para los proyectos de CMake.
Importar una caché existente
Cuando se importa un archivo CMakeCache.txt existente, Visual Studio extrae las variables personalizadas de manera automática y crea un archivo CMakeSettings.json previamente rellenado basado en ellas. La caché original no se modifica de ninguna manera. Todavía se puede usar el archivo existente desde la línea de comandos o con cualquier herramienta o IDE que se haya usado para generarlo. El nuevo CMakeSettings.json archivo se coloca junto a la raíz del CMakeLists.txt proyecto. Visual Studio genera una caché nueva en función del archivo de configuración. Puede invalidar la generación automática de caché en el cuadro de diálogo Opciones de herramientas > CMake > General.
No se importa todo el contenido de la caché. Propiedades como el generador y la ubicación de los compiladores se reemplazan con valores predeterminados que se sabe que funcionan de manera correcta con el IDE.
Para importar una caché existente
En el menú principal, elija Archivo abrir > CMake:

Ese comando abre el asistente Importar proyecto CMake de la memoria caché.
Navegue hasta el archivo
CMakeCache.txtque quiera importar y, después, haga clic enCMakeCache.txt. Se abrirá el asistente Importar proyecto CMake de la memoria caché:
Abrir el Asistente para importar caché de Cuando se complete el asistente, verá el archivo
CMakeCache.txtnuevo en elCMakeCache.txtjunto al archivo raízCMakeLists.txtdel proyecto.
Compilar proyectos de CMake
Para compilar un proyecto de CMake, tienes estas opciones:
En la barra de herramientas General, busque el menú desplegable Configuraciones. Probablemente muestre "Linux-Debug" o "x64-Debug" de forma predeterminada. Seleccione la configuración preferida y presione F5, o bien haga clic en el botón Ejecutar (el triángulo de color verde) en la barra de herramientas. Primero se compila el proyecto de manera automática, como una solución de Visual Studio.
Haga clic con el botón derecho en
CMakeLists.txten elCMakeLists.txty seleccione Compilar en el menú contextual. Si tiene varios destinos en la estructura de carpetas, puede elegir compilarlos todos o solo un destino específico.En el menú principal, seleccione Compilar solución de compilación(F7 o Ctrl+Mayús+B). Asegúrese de que hay un destino de CMake seleccionado en la lista desplegable Elemento de inicio de la barra de herramientas General.

Puede personalizar configuraciones de compilación, variables de entorno, argumentos de línea de comandos y otras opciones en el archivo CMakeSettings.json . Esto le permite realizar cambios sin modificar el archivo CMakeLists.txt . Para obtener más información, vea Personalización de la configuración de CMake.
Como cabría esperar, los resultados de la compilación se muestran en la ventana de Salida y en la Lista de errores.

En una carpeta con varios destinos de compilación, puede especificar qué destino de CMake se va a compilar: elija el elemento Compilar en el menú de CMake o el menú contextual para especificar el destino. Si presiona Ctrl+Mayús+B en un proyecto de CMake, se compila el documento activo actual.
Depuración de proyectos de CMake
Para depurar un proyecto de CMake, elija su configuración preferida y presione F5. O bien, presione el botón Ejecutar en la barra de herramientas. Si en el botón Ejecutar se indica "Seleccionar elemento de inicio", haga clic en la flecha desplegable y elija el destino que quiera ejecutar. (En un proyecto de CMake, la opción "Documento actual" solo es válida para los archivos .cpp).

Los comandos Ejecutar o F5 compilan primero el proyecto si se han realizado cambios desde la compilación anterior.
Puede personalizar una sesión de depuración de CMake mediante el establecimiento de las propiedades en el archivo launch.vs.json. Para obtener más información, vea Configure CMake debugging sessions (Configuración de sesiones de depuración de CMake).
Edición de archivos CMakeLists.txt
Para editar un archivo CMakeLists.txt , haga clic con el botón derecho en el archivo en el CMakeLists.txt y seleccione Abrir. Si realiza cambios en el archivo, aparece una barra de estado de color amarillo y le informa de que IntelliSense se va a actualizar. Le ofrece la oportunidad de cancelar la operación de actualización. Para obtener información sobre CMakeLists.txt , consulte la CMakeLists.txt.

Tan pronto como se guarde el archivo, se vuelve a ejecutar el paso de configuración de manera automática y se muestra la información en la ventana Salida. Los errores y las advertencias se muestran en la Lista de errores o en la ventana Salida. Haga doble clic en un error en la lista de errores para ir a la línea de error en .

Paso de configuración de CMake
Cuando se realizan cambios significativos en los archivos o , Visual Studio vuelve a ejecutar automáticamente CMakeSettings.json el paso de configuración de CMakeLists.txt CMake. Si el paso de configuración finaliza sin errores, la información que se recopila está disponible en C++ IntelliSense y en los servicios de lenguaje. También se usa esta información en las operaciones de compilación y depuración.
Varios proyectos de CMake pueden usar el mismo nombre de configuración de CMake (por ejemplo, "x86-Debug"). Todos ellos se configuran y compilan (en su propia carpeta raíz de compilación) cuando se selecciona esa configuración. Puede depurar los destinos de todos los proyectos de CMake que participan en esa configuración de CMake.

Puede limitar las compilaciones y las sesiones de depuración a un subconjunto de los proyectos en el área de trabajo. Cree una nueva configuración con un nombre único en el CMakeSettings.json archivo. A continuación, aplique la configuración solo a esos proyectos. Al seleccionar esa configuración, IntelliSense y los comandos de compilación y depuración se aplican solo a los proyectos especificados.
Solución de problemas de errores de caché de CMake
Si necesita más información sobre el estado de caché de CMake para diagnosticar un problema, abra el menú principal de CMake o el menú contextual de en el Explorador de soluciones para ejecutar uno de estos comandos:
Ver caché abre el archivo desde la carpeta raíz de compilación en el editor. (Las modificaciones que realice aquí
CMakeCache.txten se borrarán si limpia la memoria caché. Para realizar cambios que se conservan después de limpiar la caché, vea Personalización de la configuración de CMake).Abrir carpeta de caché abre una ventana del explorador por la carpeta raíz de compilación.
Limpiar caché elimina la carpeta raíz de compilación para que el siguiente paso de configuración de CMake se inicie desde una caché limpia.
Generar caché fuerza la ejecución del paso de generación aunque Visual Studio considere que el entorno está actualizado.
La generación automática de caché se puede deshabilitar en el cuadro de diálogo Opciones de herramientas > CMake > General.
Compilación de un único archivo
Para compilar un único archivo en un proyecto de CMake, haga clic con el botón derecho en el archivo en el Explorador de soluciones. Elija Compilar en el menú emergente. También puede compilar el archivo abierto actualmente en el editor si usa el menú principal de CMake:

Ejecutar CMake desde la línea de comandos
Si ha instalado CMake desde el instalador de Visual Studio, puede ejecutarlo desde la línea de comandos siguiendo estos pasos:
Ejecute el archivo
vsdevcmd.batadecuado (x86/x64). Para obtener más información, vea el artículo sobre cómo compilar en la línea de comandos.Cambie a la carpeta de salida.
Ejecute CMake para compilar o configurar la aplicación.
In Visual Studio 2015, los usuarios de Visual Studio pueden usar un generador CMake para generar archivos de proyecto de MSBuild que, después, el IDE usa para IntelliSense, exploración y compilación.
Vea también
Tutorial: Creación de proyectos multiplataforma de C++ en Visual Studio
Configuración de un proyecto de CMake en Linux
Conexión al equipo remoto de Linux
Personalización de la configuración de compilación de CMake
referencia de esquema
Configuración de sesiones de depuración de CMake
Implementación, ejecución y depuración del proyecto de Linux
Referencia de configuración predefinida de CMake