Entiendo que Jam crea proyectos existentes y CMake genera proyectos para compilar. Pero, dado que prefiero generar proyectos que pueda utilizar en varios IDE en lugar de tratar de integrar Jam en esos IDE, ¿alguien ha tenido alguna experiencia/éxito convirtiendo un Jamfile en un archivo CMakeLists.txt?Migrar de Jam a CMake
Respuesta
Así que finalmente decidí que lo mejor era comenzar un proyecto CMAKE desde cero. Nuestro proyecto Jam fue un desastre, no quería llevar el resto de nuestra construcción de espagueti.
me encontré con estos recursos para ser más útiles
http://www.cmake.org/Wiki/CMake_Useful_Variables http://www.cmake.org/cmake/help/v2.8.10/cmake.html
Solía usar Jam para todos mis proyectos Linux ya que era más fácil que los archivos make normales. Luego descubrí CMake y no volví. Es tan fácil escribir archivos CMakeLists.txt como escribir archivos Jam, y se obtiene soporte IDE específico de plataforma de forma gratuita, aunque IMO los proyectos IDE no son tan limpios como algo generado a mano.
Por lo que he visto, muy pocas personas usan Jam en estos días, a pesar de sus muchos puntos fuertes. Afirma ser capaz de construir en varias plataformas, pero al mismo tiempo, ya no parece disfrutar del desarrollo activo, por lo que tiendo a desconfiar de sus reclamos multiplataforma.
Hasta donde yo sé, no hay ninguna herramienta para convertir automáticamente una jerarquía de Jamfiles en una jerarquía de archivos CMakeLists.txt, aunque dicha herramienta sin duda sería un proyecto factible. Sin embargo, gracias a la impopularidad de Jam y, en menor medida, CMake, a menos que usted o yo tengamos algo de tiempo libre, esa herramienta no está en el horizonte. :(
Si el proyecto no es demasiado complejo, algunos búsqueda simple y reemplazar las operaciones deben transformar un Jamfile en un archivo CMakeLists.txt. Si su proyecto es complejo, y luego convertirlos a mano es probablemente su mejor apuesta.
Algunas transformaciones simples:
HDRS += a.h b.h c.h ;
se convierte eninclude_directories(a.h b.h c.h)
Main HelloWorld : main.cpp utils.cpp ;
se convierte enadd_executable(HelloWorld main.cpp utils.cpp utils.h)
Library helper : helper.cpp
se convierte enadd_library(helper STATIC helper.cpp helper.h)
SubDir foo ;
convierteadd_subdirectory(foo)
LinkLibraries HelloWorld : libhelper ;
conviertetarget_link_libraries(HelloWorld helper)
Los proyectos IDE que genera CMake No incluya automáticamente archivos de cabecera relacionados, por lo tanto, he incluido explícitamente los importantes en los ejemplos anteriores. Hay un lindo ejemplo here, si aún no lo has visto.
Para la conversión de Atasco a CMake, podría ser útil intentar extender vcproj2cmake para que también tenga una implementación del analizador de Jam (la parte del generador para las secuencias de texto de sintaxis de CMake ahora es bastante capaz).
- 1. Boost Jam vs Jam
- 2. ¿Qué es Boost Jam y a qué vale la pena migrar?
- 3. Migrar TimeZone a DateTimeZone
- 4. Migrar de Sourceforge a Github
- 5. Migrar de Oracle a MySQL
- 6. Migrar de DataSets a EntityFramework
- 7. Estilo fuente para Google Code Jam
- 8. ¿Migrar proyecto de RCS a git?
- 9. Herramienta para migrar de DB2 a MySQL
- 10. ¿Cómo migrar de SourceGear Vault a TFS?
- 11. Herramienta para migrar de SVN a TFS
- 12. Cómo migrar de SQLite a PostgreSQL (Rails)
- 13. Cómo migrar de fósil a hg
- 14. Migrar de Subversion a Team Foundation Server
- 15. Migrar de Subversion 1.4 a 1.6
- 16. Migrar de ClearCase a SVN/Mercurial
- 17. ¿Cómo migrar de virtualenv a buildout?
- 18. ¿Cómo migrar de mysql 5.1 a 5.5?
- 19. migrar datos de MS SQL a PostgreSQL?
- 20. CMake ... ccmake or cmake?
- 21. Migrar el sitio LAMP alojado a AWS
- 22. Migrar VB.NET 2.0 Winform a 3.5 WPF
- 23. ¿Deberíamos migrar a WPF o Winforms?
- 24. Migrar YUI 2 a YUI 3
- 25. Migrar a Amazon SQL Server RDS
- 26. ¿Vale la pena migrar a Rake?
- 27. Migrar existentes aplicación ROR a GAE
- 28. migrar código de COBOL
- 29. Migrar Confluencia a Github wiki (Gollum)
- 30. ¿Cómo migrar mi app.yaml a 2.7?