Necesito escribir un comando personalizado que se ejecute cada vez que el archivo A es más nuevo que el archivo B. ¿Cómo hago esto en CMake? ¡Gracias!CMake conditionals: comparing timestamps of files
Respuesta
suena como usted quiere algo similar a esto:
add_custom_command(OUTPUT B
COMMAND ${CMAKE_COMMAND} -Dinput=A -P script_that_generates_B.cmake
DEPENDS A
)
Donde "B" es la ruta completa al archivo de salida, "A" es la ruta completa a algún archivo de entrada, y el comando es algo que se ejecuta en tiempo de compilación para producir B siempre que A cambie.
Para que la regla que produce B se ejecute en tiempo de compilación, otra cosa también debe depender de B. Debería aparecer como un DEPENDS de un add_custom_target que está en "todo" o como un archivo fuente en un comando add_library o add_executable para activar el comando.
EDIT:
También puede utilizar el constructo
if(file1 IS_NEWER_THAN file2)
en CMake configurar el tiempo, si es necesario. La documentación del comando IF es bastante larga, pero searching on this page para IS_NEWER_THAN produce este nugget:
"Verdadero si el archivo1 es más reciente que el archivo2 o si uno de los dos archivos no existe. El comportamiento está bien definido solo por completo caminos."
- 1. comparing nullable (of boolean)
- 2. paréntesis en Python Conditionals
- 3. ¿Cómo sangría long conditionals para declaraciones 'if'?
- 4. jQuery Timeago timestamps: ¿Cómo elegir el idioma?
- 5. Oracle SQL: timestamps in where cláusula
- 6. neo4j y max open files
- 7. CMake ... ccmake or cmake?
- 8. Groovy load .csv files
- 9. Django javascript files
- 10. google-files-api
- 11. iOS 4.2 simulator files?
- 12. Edición .sol-files
- 13. MSBuild combine files
- 14. wc gzipped files?
- 15. Tailing Rolling Files
- 16. cmake no encuentra Qt4
- 17. Ejecutando CMake en Windows
- 18. Aún confundido por Java Timestamps, etc. con MySQL
- 19. Comprender el "||" O operador en If conditionals en Ruby
- 20. Trabajando con Visual Studios C++ manifest files
- 21. XSLT split output files - muenchian grouping
- 22. ObservableCollection (Of T) vs BindingList (Of T)?
- 23. CMAKE no puede encontrar OpenNI
- 24. Buscar paquete Eigen3 para CMake
- 25. Windows Batch Files: if else
- 26. Facebook Graph API Group Files
- 27. git ls-files con fecha?
- 28. Rails gem with javascript files
- 29. Flash HTTP Streaming - Multiple Files
- 30. GIt Deployment + Configuration Files + Heroku