[Jderobot] Naoserver en cadena de compilación

Luis Roberto Morales lr.morales.iglesias en gmail.com
Dom Oct 13 11:53:44 CEST 2013


Hola,
No se si he entendido bien la pregunta, pero si a lo que te refieres es que
si cmake es capaz de ejecutar comandos durante las llamadas, puede hacerlo
mediante execute_process [1].
Este comando de cmake permite ejecutar uno o varios comandos por llamada;
capturar entrada, salida estándar y salida de errores a variables y
ficheros o ignorarlos; y establecer el directorio de trabajo. Por ejemplo:

execute_process(COMMAND bash -c ls *.cpp
                WORKING_DIRECTORY src
                RESULT_VARIABLE res OUTPUT_VARIABLE out ERROR_VARIABLE err
)

Ejecutaría bash -c ls -l *.cpp [2] desde un subdirectorio llamado src,
colocando el código salida en la variable res (en este caso sería 0 si hay
algo, 1 si no encuentra nada y 2 si no puede acceder al directorio), la
lista de ficheros en la variable out y lo que hubiera en la salida de
errores en err.

Por lo que si lo que quieres es que se ejecute lo de arriba y que en
función de si hay fallos se continúe con el tratamiento del componente,
creo que esto podría venirte bien.

Un saludo,
Roberto

[1]
http://www.cmake.org/cmake/help/cmake2.6docs.html#command:execute_process
[2] La llamada a la shell sólo es necesaria para la expansión del *, cmake
lo trataría como parte del nombre.


El 13 de octubre de 2013 11:04, Borja Mon Serrano <borjamonserrano en gmail.com
> escribió:

> Hola Luis,
>
> si puedes, creo que sería más limpio que utilice variables de caché para
>> eso; por ejemplo, una variable documentada tipo ruta para decir donde esta
>> el NaoQi que si está vacía no compile o similar.
>> Sería algo como SET(variable NOTFOUND CACHE PATH "Path to NaoQi") y un
>> IF(variable).
>>
>
> Con eso estamos en la tesitura también de que entonces tendríamos que
> hacer que el usuario pusiese el path a mano o darle la opción con ccmake...
> O, simplemente, poner una ruta por defecto, supongo.
>
> Por otra parte, ¿habría manera de simular que el usuario pone los comandos
> que he puesto anteriormente? Quiero decir, para compilar el naoserver yo
> hasta ahora lo he tenido de manera completamente independiente y, en el
> directorio donde está el cmake del componente, ejecuto:
>
>
> qibuild configure -c mytoolchain project
> qibuild make -c mytoolchain project
>
> Y no sé muy bien si se puede hacer algo de este estilo...
>
> Un saludo,
>
> Borja.
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20131013/27674a55/attachment.htm 


More information about the Jde-developers mailing list