Articles

cmake (1)¶

Opciones¶

-S <path-to-source>

Ruta al directorio raíz del proyecto CMake a construir.

-B <path-to-build>

Ruta al directorio que CMake usará como raíz del directorio de compilación.

Si el directorio no existe, CMake lo hará.

-C <initial-cache>

Precarga un script para rellenar la caché.

Cuando CMake se ejecuta por primera vez en un árbol de compilación vacío, crea un archivoCMakeCache.txt y lo rellena con ajustes personalizables para el proyecto. Esta opción se puede usar para especificar un archivo desde el cual cargar entradas de caché antes del primer paso a través de los archivos de lista de fabricación del proyecto. Las entradas cargadas tienen prioridad sobre los valores predeterminados del proyecto. El archivo dado debe ser un script CMake que contenga comandos set() que usen la opción CACHE, no un archivo en formato acache.

Las referencias a CMAKE_SOURCE_DIR y CMAKE_BINARY_DIR dentro del script se evalúan en el árbol de compilación y fuente de nivel superior.

-D <var>:<type>=<value>, -D <var>=<value>

Crear o actualizar un CMake CACHE entrada.

Cuando CMake se ejecuta por primera vez en un árbol de compilación vacío, crea un archivoCMakeCache.txt y lo rellena con ajustes personalizables para el proyecto. Esta opción se puede usar para especificar una configuración que tenga prioridad sobre el valor predeterminado del proyecto. La opción se puede reponer para tantas entradas CACHE como se desee.

Si se da la porción :<type>, debe ser uno de los tipos especificados por la documentación del comando set() para su firmaCACHE.Si se omite la parte :<type>, la entrada se creará sin tipo si no existe con un tipo ya. Si mando en el proyecto se establece el tipo de PATH o FILEPATH, el <value> serán convertidos en una ruta de acceso absoluta.

Esta opción también se puede dar como un solo argumento:-D<var>:<type>=<value> o -D<var>=<value>.

-U <globbing_expr>

Eliminar las entradas coincidentes de CMake CACHE.

Esta opción se puede usar para eliminar una o más variables del archivoCMakeCache.txt, globalizando expresiones con * y ? compatibles. La opción se puede repetir para tantas entradas CACHE como se desee.

Úselo con cuidado, puede hacer que su CMakeCache.txt no funcione.

-G <generator-name>

Especifique un generador de sistema de compilación.

CMake puede soportar múltiples sistemas de compilación nativos en ciertas plataformas. Un generador es responsable de generar un sistema de construcción particular. Los posibles nombres de generador se especifican en el manualcmake-generators(7).

Si no se especifica, CMake comprueba la variable de entorno CMAKE_GENERATOR y, de lo contrario, vuelve a una selección predeterminada incorporada.

-T <toolset-spec>

Especificación del conjunto de herramientas para el generador, si es compatible.

Algunos generadores de CMake admiten una especificación de conjunto de herramientas para indicarle al sistema de compilación nativo cómo elegir un compilador. Consulte la variableCMAKE_GENERATOR_TOOLSET para obtener más detalles.

-A <platform-name>

Especifique el nombre de la plataforma si es compatible con el generador.

Algunos generadores de CMake admiten un nombre de plataforma que se le dará al sistema de compilación creativo para elegir un compilador o SDK. Consulte la variableCMAKE_GENERATOR_PLATFORM para obtener más detalles.

-Wno-dev

Suprimir las advertencias de desarrollador.

Suprima las advertencias destinadas al autor de los archivosCMakeLists.txt. De forma predeterminada, esto también desactivará las advertencias de corrección.

-Wdev

Habilitar advertencias de desarrollador.

Habilita advertencias destinadas al autor de los archivos CMakeLists.txt. De forma predeterminada, esto también activará las advertencias de obsolescencia.

-Werror=dev

Hacer desarrollador advertencias de errores.

Haga advertencias destinadas al autor de los errores de archivo CMakeLists.txt. De forma predeterminada, esto también activará las advertencias obsoletas como errores.

-Wno-error=dev

Haga que las advertencias del desarrollador no sean errores.

Haga advertencias destinadas al autor de los archivos CMakeLists.txt noterrors. De forma predeterminada, esto también desactivará las advertencias obsoletas como errores.

-Wdeprecated

Habilitar advertencias de funcionalidad obsoletas.

Habilite advertencias para el uso de funciones obsoletas, que son suficientes para el autor de los archivos CMakeLists.txt.

-Wno-deprecated

Suprimir advertencias de funcionalidad obsoletas.

Suprima las advertencias para el uso de funciones obsoletas, que son suficientes para el autor de los archivos CMakeLists.txt.

-Werror=deprecated

Crea errores obsoletos de advertencia de macro y función.

Haga advertencias para el uso de macros y funciones obsoletas, que son suficientes para el autor de los archivos CMakeLists.txt, errores.

-Wno-error=deprecated

Haga que las advertencias de macro y función obsoletas no sean errores.

Haga advertencias para el uso de macros y funciones obsoletas, que son suficientes para el autor de los archivos CMakeLists.txt, no errores.

-L

Lista de variables en caché no avanzadas.

Lista de CACHE variables que van a ejecutar CMake y lista de todas las variables de CMake CACHE que no están marcados como INTERNAL o ADVANCED.Esto mostrará efectivamente la configuración actual de CMake, que luego se puede cambiar con la opción -D. El cambio de algunas de las variables puede resultar en la creación de más variables. Si se especifica A, mostrará también variables avanzadas. Si se especifica H, también mostrará la ayuda para cada variable.

-N

Solo modo de vista.

Solo carga la caché. En realidad, no ejecute configure y generatesteps.

--graphviz=

Genere graphviz de dependencias, consulte CMakeGraphVizOptions para obtener más información.

Generar un archivo de entrada de graphviz que contendrá todas las bibliotecas y dependencias ejecutables del proyecto. Consulte la documentación deCMakeGraphVizOptions para obtener más detalles.

--system-information

Volcado de información sobre este sistema.

Volcar una amplia gama de información sobre el sistema actual. Si se ejecuta desde la parte superior de un árbol binario para un proyecto CMake, descargará información adicional, como la caché, los archivos de registro, etc.

--log-level=<ERROR|WARNING|NOTICE|STATUS|VERBOSE|DEBUG|TRACE>

Establezca el nivel de registro.

El comando message() solo emitirá mensajes del nivel de registro especificado o superior. El nivel de registro predeterminado es STATUS.

Para que un nivel de registro persista entre las ejecuciones de CMake, establezcaCMAKE_MESSAGE_LOG_LEVEL como una variable de caché en su lugar.Si se da la opción de línea de comandos y la variable, la opción de línea de comandos tiene prioridad.

Por razones de compatibilidad con versiones anteriores, --loglevel también se acepta como asinónimo para esta opción.

--log-context

Habilite el comando message() que muestra el contexto adjunto a cada mensaje.

Esta opción activa mostrar el contexto para la ejecución actual de CMake only.To haga que el contexto sea persistente para todas las ejecuciones posteriores de CMake, establezcaCMAKE_MESSAGE_CONTEXT_SHOW como variable de caché en su lugar.Cuando se da esta opción de línea de comandos, se ignora CMAKE_MESSAGE_CONTEXT_SHOW.

--debug-trycompile

no borrar la etiqueta try_compile() construir el árbol.Solo es útil en un try_compile() a la vez.

No elimine los archivos y directorios creados para las llamadas try_compile(). Esto es útil para depurar archivos try_compiles fallidos. Sin embargo, puede cambiar los resultados de las compilaciones de prueba como basura antigua de una compilación de prueba anterior, lo que puede causar que una prueba diferente pase o falle incorrectamente. Esta opción se usa mejor para un intento de compilación a la vez, y solo al depurar.

--debug-output

Poner cmake en modo de depuración.

Imprime información adicional durante la ejecución de cmake como trazas de pila con llamadasmessage(SEND_ERROR).

--debug-find

Ponga los comandos cmake find en modo de depuración.

Imprimir información adicional de llamada de búsqueda durante la ejecución de cmake a standarderror. La salida está diseñada para consumo humano y no para análisis.Consulte también la variable CMAKE_FIND_DEBUG_MODE para depurar una parte más local del proyecto.

--trace

Poner cmake en modo de seguimiento.

Imprime un seguimiento de todas las llamadas realizadas y desde dónde.

--trace-expand

Poner cmake en modo de seguimiento.

Como--trace, pero con variables expandidas.

--trace-format=<format>

Ponga cmake en modo de seguimiento y establezca el formato de salida de seguimiento.

<format> puede ser uno de los siguientes valores.

human

Imprime cada línea de registro en un formato legible. Este es el formato predeterminado.

json-v1

Imprime cada línea como un documento JSON separado. Cada documento está separado por una nueva línea (\n ). Se garantiza que los caracteres no lineales estarán presentes dentro de un documento JSON.

JSON traza formato:

{ "file": "/full/path/to/the/CMake/file.txt", "line": 0, "cmd": "add_executable", "args": , "time": 1579512535.9687231, "frame": 2}

Los miembros son:

file

La ruta de acceso completa a la CMake archivo de origen donde el functionwas llamado.

line

La línea en file de la llamada a la función.

defer

Miembro opcional que está presente cuando la llamada a la función fue diferida porcmake_language(DEFER). Si está presente, su valor es astring que contiene la llamada diferida <id>.

cmd

El nombre de la función a la que se llamó.

args

Una lista de cadenas de todos los parámetros de la función.

time

Marca de tiempo (segundos desde la época) de la llamada a la función.

frame

Profundidad de fotograma de pila de la función a la que se llamó.

Además, el primer documento JSON emitido contiene la claveversion para la versión mayor y menor actual del formato de traza JSON

:

{ "version": { "major": 1, "minor": 1 }}

Los miembros son:

version

Indica la versión del formato JSON. La versión tiene componentes mayores y menores siguiendo las convenciones de la versión semántica.

--trace-source=<file>

Poner cmake en modo de seguimiento, pero solo generar líneas de un archivo especificado.

Se permiten múltiples opciones.

--trace-redirect=<file>

Ponga cmake en modo de seguimiento y redirija la salida de seguimiento a un archivo en lugar de stderr.

--warn-uninitialized

Advertir sobre valores no iniciados.

Muestra una advertencia cuando se utiliza una variable no inicializada.

--warn-unused-vars

no Hace nada. En las versiones de CMake 3.2 y posteriores, esto habilita advertencias sobre variables apagadas. En las versiones de CMake 3.3 a 3.18, la opción era broken.In CMake 3.19 y superior la opción ha sido eliminada.

--no-warn-unused-cli

No advierta sobre las opciones de la línea de comandos.

No encuentra variables declaradas en la línea de comandos, pero no utilizadas.

--check-system-vars

Encuentra problemas con el uso de variables en archivos del sistema.

Normalmente, las variables no utilizadas y no inicializadas se buscan únicamente en CMAKE_SOURCE_DIRy CMAKE_BINARY_DIR.Este indicador le indica a CMake que advierta también sobre otros archivos.

--profiling-output=<path>

Se utiliza junto con --profiling-format para generar una salida a una ruta dada.

--profiling-format=<file>

Habilite la salida de datos de perfiles del script CMake en el formato dado.

Esto puede ayudar al análisis de rendimiento de los scripts CMake ejecutados. Se deben utilizar aplicaciones de terceros para procesar la salida en un formato legible por humanos.

Los valores actualmente admitidos son:google-trace Salidas en formato de seguimiento de Google, que se pueden analizar en la pestaña de seguimiento de Google Chrome o utilizando un complemento para una herramienta como TraceCompass.

--preset <preset>--preset=<preset>

Lee un preset de<path-to-source>/CMakePresets.json y<path-to-source>/CMakeUserPresets.json. El preset especifica el generador y el directorio de compilación, y opcionalmente una lista de variables y otros argumentos para pasar a CMake. El directorio de trabajo actual debe contener archivos predefinidos de Make. El CMake GUI canalso reconocer CMakePresets.json y CMakeUserPresets.json archivos. Para obtener más información sobre estos archivos, consulte cmake-presets(7).

Los ajustes preestablecidos se leen antes que todas las demás opciones de la línea de comandos. Las opciones especificadas por el preset (variables, generador, etc.) todos pueden ser anulados especificándolos manualmente en la línea de comandos. Por ejemplo, si la variable setsa predefinida se llama MYVAR a 1, pero el usuario la establece en 2 con un argumento-D, el valor .

--list-presets, --list-presets=<>

Enumera los valores predefinidos disponibles. Si no se especifica ninguna opción, solo se listarán los ajustes preestablecidos de configuración. El directorio de trabajo actual debe contener archivos predefinidos CMake.