[Jderobot-dev] Actualizado repositorio con nuevo CMake

Mikel Gonzalez Baile m.gonzalezbai en gmail.com
Vie Jul 13 00:34:05 CEST 2012


Hola a todos,

os informo de que he actualizado todo el repositorio modificando la forma
de compilar que tenía CMake, por lo que deberéis actualizar a la última
revisión antes de realizar vuestro próximo commit, para que esté todo
actualizado.

Os comento por encima los cambios que he realizado y un poco el manejo:

-------------------------------------------------------------------------------

- He añadido un nuevo directorio que cuelga de /trunk llamado Deps, en él
se encuentran las librerías externas (gearbox, xerces, fireware, etc) de
las que puede depender cada uno de los componentes. Este directorio trata
de "simular" al anterior directorio /m4 que existía cuando compilábamos con
la herramienta Autotools.

- He suprimido el directorio /src que colgaba de cada componente,
manteniéndose únicamente el directorio /build.

- En el directorio /build de cada componente se encuentran tres ficheros:
     * CMakeLists.txt -> En este fichero es donde se define el nombre del
proyecto (ahora cada componente es tratado como un "ente" único), sus
dependencias como son las librerías externas (gearbox, xerces, fireware,
etc) o propias de JDErobot (visionlib, colorspaces, etc, etc), la
instalación del componente (es decir, copiar cabeceras, librerías,
interfaces y demás en vuestro sistema de ficheros: /usr/include, /usr/lib
...) y su desinstalación.

     * clean.sh -> Se trata de un script que limpia todos los "rastros" que
va dejando CMake cuando éste es lanzado, con lo que es muy útil antes de
realizar un commit ya que deja los directorios limpios de ejecutables,
librerías creadas (.so, .a), interfaces generadas, etc.

     * cmake_uninstall.cmake.in -> Este fichero es necesario para
implementar la funcionalidad de desinstalación de un componente previamente
instalado en nuestro equipo.

A partir de ahora, una vez descargado el svn de jderobot.org, existe la
posibilidad de compilar cada uno de los componentes de forma individual, o
bien lanzar la compilación desde /trunk generándose así todos ellos. Para
compilar un componente de forma individual simplemente nos tenemos que
dirigir al directorio "build" de dicho componente y lanzar el cmake:

>> cd trunk/src/components/opencvdemo/build
>> cmake .
>>make
>> sudo make install (con este comando se instalarán todos los ficheros que
conciernen a este componente)
>> sudo make uninstall (con este comando se desinstalarán todos los
ficheros que conciernen a este componente)

Por otro lado, una nueva funcionalidad que tiene es que cuando nosotros
compilemos un componente, el cual generará las librerías necesarias para
ello (visionlib y colorspaces, por ejemplo), y a continuación compilemos
otro componente que dependa de alguna de las librerías generadas
previamente (visionlib, por ejemplo) ésta es detectada sin necesidad de
volverse a generar.

-------------------------------------------------------------------------------

Comento los componentes que me han dado problemas a ver si me podéis echar
una mano:
- mobileTeleoperator -> Es una aplicacion móvil.
- motiondetection -> Me da el siguiente error en compilación: No se
encuentra jderobot/recording.h Sin embargo, la interfaz ICE para dicha
cabecera no se encuentra en el directorio "slice".
- naobody -> He visto que este componente tiene un script para su
compilación.
- openniServer -> Me da error al no encontrar la siguiente cabecera:
XnVCircleDetector.h, ¿de qué librería se trata?

Por último comentar que espero no tengáis demasiados problemas para
trabajar con los nuevos añadidos y cualquiera que pueda surgir lo iré
tratando de solucionar :-).

Un saludo a todos!

Maikel.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20120713/c96567a7/attachment.htm 


More information about the Jde-developers mailing list