¿Existe alguna variable que pueda usar en cmake para que actúe como si hubiera pasado la opción -q? Sería bueno porque tengo una construcción muy modular que se complica con la salida de cmakes. Lo estoy usando en un proyecto de C++.dile a cmake que se mantenga en silencio
Respuesta
No hay ninguna variable que yo sepa. Sin embargo, puede agregar este truco para el inicio de su alto nivel CMakeLists.txt (antes de la llamada project
) para controlar la salida un tanto:
function(message)
list(GET ARGV 0 MessageType)
if(MessageType STREQUAL FATAL_ERROR OR
MessageType STREQUAL SEND_ERROR OR
MessageType STREQUAL WARNING OR
MessageType STREQUAL AUTHOR_WARNING)
list(REMOVE_AT ARGV 0)
_message(${MessageType} "${ARGV}")
endif()
endfunction()
Esto anula de CMake incorporada message
comando y suprime toda STATUS
y mensajes sin tipo, dejando los tipos más importantes para que salgan correctamente.
La salida de p. Ej. un mensaje WARNING
cambiará de
CMake Warning at CMakeLists.txt:14 (message): This is a dummy warning message.
a
CMake Warning at CMakeLists.txt:8 (_message): This is a dummy warning message. Call Stack (most recent call first): CMakeLists.txt:14 (message)
Tenga en cuenta que la línea real en la que se generó el mensaje de advertencia aparece en la pila de llamadas en lugar de ser la primera línea del mensaje de salida.
Por último, esto no tiene ningún efecto en el resultado de resumen que indica el éxito o el fracaso del intento de configuración.
A partir de cmake 3.1, la configuración CMAKE_INSTALL_MESSAGE
también es muy útil. Por ejemplo, set(CMAKE_INSTALL_MESSAGE LAZY)
omitirá los mensajes -- Up-to-date:
.
- 1. Dile a Netbeans que se olvide del SVN
- 2. Dile a Emacs que nunca inserte las pestañas
- 3. Dile a StructureMap que use un constructor específico
- 4. ¿Cómo puedo decirle a ProGuard que mantenga mi función que se usa para onClick?
- 5. El botón Silencio no se silenciará AVAudioPlayer
- 6. htaccess Silencio Redirigir a Subdirectorio: Subdirectorio que muestra cuando no se arrastra '/'
- 7. Silencio al agregar kAudioUnitSubType_MultiChannelMixer a AUGraph
- 8. Hacer que el modelo Backbone.js cambie "parcialmente" en silencio?
- 9. Dile a git que no combine archivos binarios, sino que elija
- 10. ¿Puede CMake generar scripts de compilación que * no * usan cmake?
- 11. Detectar silencio al grabar
- 12. Dile a FxCop otro método está llamando disponer
- 13. ¿Cómo puedo evitar que FindDialog se mantenga en la cima (Delphi)?
- 14. cómo asegurar que JDialog siempre se mantenga en la parte superior
- 15. Mantenga cmd.exe abierto
- 16. ¿Podemos indicarle a Visual Studio Setup que mantenga los archivos existentes para volver a instalarlos?
- 17. silencio -Wparentheses-error de igualdad
- 18. CMake ... ccmake or cmake?
- 19. Cómo hacer que MPMoviePlayerController ignore el interruptor de silencio
- 20. Dile AppleScript para construir XCode Proyecto
- 21. Agregar archivos a source_group en CMake
- 22. modo UIViewContentModeScale del cambio de imagen celular en silencio después de la célula se toca (resaltado)
- 23. Migrar de Jam a CMake
- 24. que se adapta a Linux? GNU make vs cmake vs codeblocks vs qmake
- 25. Dile urllib2 de usar DNS personalizado
- 26. ¿Cómo asegurar que ese impulso se mantenga después de un hito de desarrollo importante?
- 27. Dile a JAXB que elimine la carga <xs:dateTime> a la clase Date usando las anotaciones
- 28. Cargue un archivo .rtf en un RichTextBox y mantenga/mantenga el formato
- 29. Cómo hacer que mi aplicación se mantenga al tanto de las aplicaciones de pantalla completa
- 30. ¿Cómo indicar a JVM que mantenga la huella de memoria lo más baja posible?
¡Genial! Entonces podrías hacer cualquier tipo de mensaje que quisieras entonces ¿eh? – alexmherrmann
¿Hay alguna manera de detener esa pila de llamadas? ¡Gracias por la respuesta! – alexmherrmann
@alexhairyman No realmente, pero lo necesita para rastrear el origen real del error/advertencia. Si no quieres ver incluso los errores/advertencias, siempre puedes quitar todo lo que está dentro del cuerpo de la "función" para que 'mensaje 'se convierta en un no-operativo. O simplemente deje los tipos de error en 'if' e ignore las advertencias. – Fraser