[Jderobot] GTK2: librerías e includes

Roberto Calvo rocapal en gsyc.urjc.es
Lun Oct 7 17:56:52 CEST 2013


Hola!

He tenido que cambiar las dependencias de GTK2 porque sino era imposible
que pudieramos añadir a la cadena de compilación componentes en GTK3
como el que tiene que añadir Borja.

El problema lo tenemos en cómo incluimos las dependencias en todo el
proyecto. En general, y por suerte eso no da problema excepto con GTK,
que no podemos hacer includes a la vez de la versión 2.x y 3.x

Antes mirabamos si estaba el paquete instalado y lo añadiamos a la
cadena de compilacion general, tanto includes como librerias. Esto hace
que cualquier compilación dentro del proyecto lleve estos includes y
librerías aunque no las necesite.

PKG_CHECK_MODULES(gtk20 REQUIRED gtk+-2.0)
include_directories(${gtk20_INCLUDE_DIRS})
link_directories(${gtk20_LIBRARY_DIRS})

Al final he generado un nuevo Deps para gtk2 y lo he dejado así [1].
Como véis no hay nada de include_directories ni link_directories porque
eso lo debe hacer el componente en cuestion que lo necesite, como por
ejemplo opencvdemo [2]. En el futuro añadiremos variables de control
para poder desactivar los componentes que usen GTK si no se ha
encontrado las librerías.

Borja, fíjate en [1] y [2] para meter el soporte de gtk3 y tu
componente. Cualquier cosa me dices y lo vemos.

Sólo las librerías estandar y muy genéricas debemos añadirlas para toda
la candena de compilación. El resto debe ser cada componente el
reponsable de añadir lo que necesite. Así podremos tener componentes de
diferentes versiones de gtk, qt, opencv, etc ... sin problemas. Tenemos
muchas librerías que se añaden y no deberían, y aunque no dan problemas
para la siguiente versión lo modificaremos para dejarlo bien.

Un saludo!


[1] http://svn.jderobot.org/jderobot/trunk/Deps/gtk2/CMakeLists.txt
[2] http://svn.jderobot.org/jderobot/trunk/src/stable/components/opencvdemo/CMakeLists.txt


-- 
Roberto Calvo Palomino        | Robotics Lab (GSyC) 
R&D Android Mobile Engineer   | Universidad Rey Juan Carlos

Twitter: @rocapal 
Linkedin: http://www.linkedin.com/in/rocapal



More information about the Jde-developers mailing list