2012-02-19 19 views
12

No estoy seguro de la terminología en este dominio de problema, que es un problema cuando trato de buscar cosas.cmake "make run"

Estoy usando CMake para mi proceso de compilación. Me gustaría crear un objetivo de Makefile para poder usar make run para ejecutar un proceso determinado (específicamente, el que acabo de crear con make). Me di cuenta de que solo podía hacer un guión de shell o simplemente ejecutar el comando tipeándolo. Si yo estaba escribiendo un Makefile a mí mismo, me gustaría hacer esto de esta manera:


run: 
    ./path/to/binary 

yo no he escribir una Makefile mí mismo, sin embargo - que se genera por cmake - y no estoy seguro de qué poner en mi CMakeLists.txt para que genere el objetivo make run deseado.

He encontrado el comando cmake 'execute_process', pero eso no parece ser lo que busco, no quiero ejecutar nada durante el proceso de compilación.

extra: Además, me gustaría ser capaz de hacer algo como lo siguiente:


CMAKE_COMMAND_ADD_MAKEFILE_TARGET (${CMAKE_PROJECT_DIR}/binary) 

Es decir, añadir el path/to/binary usando una variable cmake, si eso es posible.

+0

Entonces, ¿qué pasa con el objetivo que escribió arriba? –

+0

Vaya, no dejó eso en claro: no estoy escribiendo mi Makefile, estoy usando CMake. Deberá editar la pregunta en consecuencia. – simont

Respuesta

13

Está buscando add_custom_target. Por ejemplo:

add_custom_target(run 
    COMMAND binary 
    DEPENDS binary 
    WORKING_DIRECTORY ${CMAKE_PROJECT_DIR} 
) 
+0

¿Has probado esto? No puedo hacer funcionar el '$ {CMAKE_PROJECT_DIR}/binary', y no estoy seguro de si es solo yo quien lo estropeó. Sin embargo, he averiguado cómo hacer lo que intento con' add_custom_target'. – simont

+0

Lo siento, no lo probé. Está arreglado ahora. – Simon