Menú Cerrar

Proyectos CMake en Visual Studio

El componente C++ CMake tools for Windows utiliza la función Open Folder para consumir archivos de proyecto CMake (como CMakeLists.txt) directamente para los propósitos de IntelliSense y navegación. Ambos generadores Ninja y Visual Studio son compatibles. Si utiliza un generador de Visual Studio, genera un archivo de proyecto temporal y lo pasa a msbuild.exe. Sin embargo, el proyecto nunca se carga para propósitos de IntelliSense o de navegación. También puede importar una caché de CMake existente.

Instalación

Las herramientas CMake de C++ para Windows se instalan como parte de las cargas de trabajo de Desarrollo de escritorio con C++ y Desarrollo de Linux con C++. Para obtener más información, consulte Proyectos CMake multiplataforma.

Para obtener más información, consulte Instalar la carga de trabajo de C++ para Linux en Visual Studio.

Integración deIDE

Cuando elige Archivo > Abrir > Carpeta para abrir una carpeta que contenga un archivo CMakeLists.txt, ocurren las siguientes cosas:

  • Visual Studio añade elementos de CMake al menú Proyecto, con comandos para ver y editar scripts de CMake.

  • El Explorador de soluciones muestra la estructura de la carpeta y los archivos.

  • Visual Studio ejecuta cmake.exe y genera el archivo de caché de CMake (CMakeCache.txt) para la configuración por defecto (x64 Debug). La línea de comandos de CMake se muestra en la ventana de salida, junto con la salida adicional de CMake.

  • En el fondo, Visual Studio comienza a indexar los archivos de origen para permitir IntelliSense, información de navegación, refactorización, etc. Mientras trabaja, Visual Studio supervisa los cambios en el editor y también en el disco para mantener su índice sincronizado con las fuentes.

  • Puede abrir carpetas que contengan cualquier número de proyectos CMake. Visual Studio detecta y configura todos los archivos «raíz» CMakeLists.txt en su espacio de trabajo. Las operaciones de CMake (configurar, construir, depurar), C++ IntelliSense, y la navegación están disponibles para todos los proyectos de CMake en su espacio de trabajo.

    También puede ver sus proyectos organizados lógicamente por objetivos. Elija la vista Objetivos en el menú desplegable de la barra de herramientas del Explorador de soluciones:

    Haga clic en el botón Mostrar todos los archivos en la parte superior del Explorador de soluciones para ver toda la salida generada por CMake en las carpetas out/build/<config>.

    Visual Studio utiliza un archivo de configuración llamado CMakeSettings.json. Este archivo le permite definir y almacenar múltiples configuraciones de construcción, y cambiar convenientemente entre ellas en el IDE. Una configuración es una construcción de Visual Studio que encapsula ajustes que son específicos para un tipo de construcción determinado. Los ajustes se utilizan para configurar las opciones de línea de comandos por defecto que Visual Studio pasa a cmake.exe. También puede especificar opciones adicionales de CMake aquí, y definir cualquier variable adicional que desee. Todas las opciones se escriben en la caché de CMake como variables internas o externas. En Visual Studio 2019, el editor de configuración de CMake proporciona una manera conveniente de editar la configuración. Para obtener más información, consulte Personalizar la configuración de CMake.

    Una configuración, intelliSenseMode no se pasa a CMake, sino que solo la utiliza Visual Studio.

    Utilice el archivo CMakeLists.txt en cada carpeta del proyecto como lo haría en cualquier proyecto de CMake. Puede especificar los archivos de origen, encontrar bibliotecas, establecer las opciones del compilador y del enlazador, y especificar otra información relacionada con el sistema de construcción.

    Para pasar argumentos a un ejecutable en tiempo de depuración, puede utilizar otro archivo llamado launch.vs.json. En algunos escenarios, Visual Studio genera automáticamente estos archivos. Puede editarlos manualmente, o incluso crear el archivo usted mismo.

    Nota

    Para otros tipos de proyectos de Carpeta Abierta, se utilizan dos archivos JSON adicionales: CppProperties.json y tasks.vs.json. Ninguno de ellos es relevante para los proyectos de CMake.

    Abrir una caché existente

    Cuando abres un archivo de caché de CMake existente (CMakeCache.txt), Visual Studio no intenta gestionar tu caché y tu árbol de construcción por ti. Tus herramientas personalizadas o preferidas tienen un control total sobre cómo CMake configura tu proyecto. Para abrir una caché existente en Visual Studio, seleccione Archivo > Abrir > CMake. A continuación, navega hasta un archivo CMakeCache.txt existente.

    Puedes añadir una caché CMake existente a un proyecto abierto. Se hace de la misma manera que añadirías una nueva configuración. Para obtener más información, consulte nuestra entrada de blog sobre la apertura de una caché existente en Visual Studio.

    Construcción de proyectos CMake

    Para construir un proyecto CMake, tiene estas opciones:

  1. En la barra de herramientas General, busque el desplegable Configuraciones. Probablemente muestre «x64-Debug» por defecto. Seleccione la configuración preferida y pulse F5, o haga clic en el botón Ejecutar (triángulo verde) de la barra de herramientas. El proyecto se construye automáticamente primero, al igual que una solución de Visual Studio.

  2. Haga clic con el botón derecho del ratón en CMakeLists.txt y seleccione Build en el menú contextual. Si tiene varios objetivos en su estructura de carpetas, puede elegir construir todos o sólo un objetivo específico.

  3. Desde el menú principal, seleccione Build > Build All (F7 o Ctrl+Shift+B). Asegúrese de que un objetivo CMake ya está seleccionado en el elemento de inicio desplegable en la barra de herramientas General.

  4. Como era de esperar, los resultados de la construcción se muestran en la ventana de salida y la lista de errores.

    En una carpeta con múltiples objetivos de construcción, puede especificar qué objetivo CMake para construir: Elija el elemento Build en el menú CMake o el menú contextual CMakeLists.txt para especificar el objetivo. Si introduce Ctrl+Mayús+B en un proyecto CMake, construye el documento activo actual.

    Depuración de proyectos CMake

    Para depurar un proyecto CMake, elija la configuración preferida y pulse F5, o pulse el botón Ejecutar de la barra de herramientas. Si el botón Ejecutar dice «Seleccionar elemento de inicio», seleccione la flecha desplegable. Elija el objetivo que desea ejecutar. (En un proyecto CMake, la opción «Current document» sólo es válida para los archivos .cpp.)

    Los comandos Run o F5 primero construyen el proyecto si se han realizado cambios desde la construcción anterior. Los cambios en CMakeSettings.json hacen que se regenere la caché de CMake.

    Se puede personalizar una sesión de depuración de CMake estableciendo propiedades en el archivo launch.vs.json. Para obtener más información, consulte Configurar sesiones de depuración de CMake.

    Just My Code para proyectos CMake

    Cuando se construye para Windows utilizando el compilador MSVC, los proyectos CMake tienen soporte para la depuración Just My Code. Para cambiar la configuración de Just My Code, vaya a Herramientas > Opciones > Depuración > General.

    Integración de vcpkg

    Si ha instalado vcpkg, los proyectos CMake abiertos en Visual Studio integran automáticamente el archivo de cadena de herramientas vcpkg. Esto significa que no se requiere ninguna configuración adicional para utilizar vcpkg con sus proyectos CMake. Este soporte funciona tanto para instalaciones locales de vcpkg como para instalaciones de vcpkg en sistemas remotos a los que se dirige. Este comportamiento se desactiva automáticamente cuando se especifica cualquier otra cadena de herramientas en la configuración de CMake.

    Personalizar la retroalimentación de la configuración

    Por defecto, la mayoría de los mensajes de configuración se suprimen a menos que haya un error. Puedes ver todos los mensajes habilitando esta función en Herramientas > Opciones > CMake.

    Edición de archivos CMakeLists.txt

    Para editar un archivo CMakeLists.txt, haz clic con el botón derecho del ratón en el archivo en el Explorador de soluciones y elige Abrir. Si realiza cambios en el archivo, aparece una barra de estado amarilla que le informa de que IntelliSense se actualizará. Le da la oportunidad de cancelar la operación de actualización. Para obtener información sobre CMakeLists.txt, consulte la documentación de CMake.

    Tan pronto como guarde el archivo, el paso de configuración se ejecuta automáticamente de nuevo y muestra información en la ventana de Salida. Los errores y advertencias se muestran en la lista de errores o en la ventana de salida. Haga doble clic en un error en la lista de errores para navegar a la línea infractora en CMakeLists.txt.

    Paso de configuración de CMake

    Cuando realice cambios significativos en los archivos CMakeSettings.json o CMakeLists.txt, Visual Studio volverá a ejecutar automáticamente el paso de configuración de CMake. Si el paso de configuración finaliza sin errores, la información recopilada está disponible en C++ IntelliSense y en los servicios de lenguaje. También se utiliza en las operaciones de compilación y depuración.

    Solución de errores de la caché de CMake

    Si necesita más información sobre el estado de la caché de CMake para diagnosticar un problema, abra el menú principal del proyecto o el menú contextual CMakeLists.txt en el Explorador de soluciones para ejecutar uno de estos comandos:

  • Ver caché abre el archivo CMakeCache.txt de la carpeta raíz de compilación en el editor. (Cualquier edición que haga aquí en CMakeCache.txt se borrará si limpia la caché. Para hacer cambios que persisten después de la limpieza de la caché, consulte Personalizar la configuración de CMake.

  • Abrir carpeta de caché abre una ventana del Explorador a la carpeta raíz de construcción.

  • Limpiar caché borra la carpeta raíz de construcción para que el siguiente paso de configuración de CMake comience desde una caché limpia.

  • Generar caché obliga a ejecutar el paso de generación incluso si Visual Studio considera que el entorno está actualizado.

Automatic cache generation can be disabled in the Tools > Options > CMake > General dialog.

Run CMake from the command line

If you have installed CMake from the Visual Studio Installer, you can run it from the command line by following these steps:

  1. Run the appropriate vsdevcmd.bat (x86/x64). For more information, see Building on the Command Line.

  2. Switch to your output folder.

  3. Run CMake to build/configure your app.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *