P. ej. ¿cómo debería compilar la versión de versión y depuración al mismo tiempo? Supongo que la respuesta utiliza variables de caché y algún tipo de "colección" de ellas. ¿Es una forma común de obtener parámetros de configuración a partir de parámetros de caché, no? Si la respuesta es sí, ¿cómo debo usar varias "colecciones" de ellas de la mejor manera? ¡Muchas gracias!¿Cómo construir varias configuraciones a la vez con CMake?
Respuesta
No especifica la plataforma de la que está hablando. Los generadores basados en Makefiles solo construirán una configuración a la vez, y la forma normal de construir varias configuraciones es usar árboles de compilación separados, p. uno para Linux de 64 bits en Intel, uno para Windows de 32 bits, etc. La mayoría de los proyectos de CMake aconsejan que no se generen fuentes y, suponiendo que haya escrito sus archivos CMakeLists correctamente, podría tener ~/src/YourProject, y ~/build/YourProject -Release, ~/build/YourProject-Debug.
Esta es la forma recomendada de hacerlo, suponiendo que su árbol fuente no tiene ningún CMakeCache.txt, etc. A continuación, puede ejecutar cmake -DCMAKE_BUILD_TYPE: STRING = Debug ~/src/YourProject en el directorio de depuración, y similar para el lanzamiento. Esto tiene la ventaja de que puede señalar proyectos dependientes en la configuración adecuada.
El proyecto Boost CMake también ha explorado la construcción de todas las configuraciones en el mismo árbol de compilación utilizando el nombre de la biblioteca para diferenciar. Puede valer la pena analizarlo si debe compilar todas las configuraciones en el mismo árbol de compilación.
(por compañeros de Google)
Tenga cuidado de no confundir los tipos de construcción y configuraciones de construcción.
Si usted realmente quiere decir "construir tipos" como de depuración y liberación y quiere construir con ellas al mismo tiempo, entonces Cmake FAQ da una respuesta: How can I build multiple modes without switching
Básicamente implica el uso de varios OUT- compilaciones de origen.
- 1. ¿Cómo construir archivos de objetos solo una vez con cmake?
- 2. cmake: Trabajando con múltiples configuraciones de salida
- 3. Configuraciones de compilación CMake Eclipse
- 4. eclipse: ejecutando múltiples configuraciones de inicio a la vez
- 5. Excel: ¿cambiar varias fórmulas a la vez?
- 6. Hadoop leer varias líneas a la vez
- 7. Operar en varias columnas a la vez
- 8. ¿Cómo guardar XmlDocument con varias configuraciones de sangría?
- 9. ¿Cómo sangrado varias líneas a la vez en Notepad ++?
- 10. Cómo ALTERAR varias columnas a la vez en SQL Server
- 11. ¿Cómo ejecuto varias tareas de Rake programáticamente a la vez?
- 12. Uso DLL externa en cmake construir
- 13. Consultar varias bases de datos a la vez
- 14. Recuperar varias direcciones URL a la vez/en paralelo
- 15. Construir fuera de la fuente con scons?
- 16. cmake & gcc compila cada archivo cada vez
- 17. Depurar varias aplicaciones a la vez en Delphi XE2
- 18. Instalación de varias aplicaciones a la vez desde Inno Setup
- 19. Cómo configurar CMake para construir una biblioteca para el iPhone
- 20. cmake "make install" a la máquina remota?
- 21. ¿Cómo hacer coincidir eficientemente una cadena de entrada con varias expresiones regulares a la vez?
- 22. ¿Cómo pedirle al gerente manytomany de Django que coincida con varias relaciones a la vez?
- 23. cómo generar proj VS con configuraciones de 32 bits y de 64 bits usando CMake
- 24. ¿Cómo combinar varias configuraciones de ejecución en Intellij juntos?
- 25. Cómo compartir configuraciones de configuración entre varias aplicaciones
- 26. Agregar configuraciones a la configuración
- 27. Cómo construir un programa con 2 valores diferentes de una variable en CMake
- 28. Doctrine: inserte varias filas con solo una vez()
- 29. TFS 2010 y "construir una vez, desplegar muchos"
- 30. ¿Cómo usar varias funciones agregadas a la vez en Rails/ActiveRecord?
¿Cuál es la diferencia entre "tipo de compilación" y "configuración de compilación"? –
"tipos" también conocidos como "modos" y "configuraciones" son básicamente formas de crear compilaciones de Depuración y Liberación para diferentes herramientas. Las configuraciones solo están disponibles para las herramientas que lo soportan, por ejemplo, Visual Studio. Los modos también se usan normalmente para compilaciones de estilo Debug y Release, pero cmake los implementa para make en carpetas de compilación separadas ya que make no tiene el mismo estilo de soporte de configuración que VS, es decir, seleccionando un tipo/configuración de compilación desde el menú desplegable de configuración en la GUI. – gnac