2010-05-30 11 views
1

Je suis en train de créer un équivalent CMake à la marque suivante:CMake dépendance

demo: main.cpp 
    gcc -o demo main.cpp 
    ./demo 

démo est exécutée chaque fois que la démo est créé.

Ce que je suis venu, mais la démo est pas exécutée comme je veux:

add_executable(demo main.cpp) 
add_custom_target(run_demo demo) 

Ceci est équivalent à:

all: demo 
demo: main.cpp 
    gcc -o demo main.cpp 
run_demo:demo 

Que dois-je manquer?

Répondre

3

Je ne suis pas tout à fait sûr de ce que vous voulez, comme les extraits Makefile vous avez posté ne font pas ce que vous dites qu'ils font. Mais à en juger par le commentaire sur la réponse de Kleist, vous voulez que la démo fonctionne chaque fois qu'elle est compilée à nouveau. Vous pouvez y parvenir comme suit:

add_executable(demo main.cpp) 
add_custom_command(TARGET demo 
        POST_BUILD COMMAND ${CMAKE_CURRENT_BINARY_DIR}/demo) 
+0

Merci, je l'ai fixé ma question – dimba

0

Vous devez ajouter run_demo la cible ALL:

add_custom_target(run_demo ALL demo) 
+0

Cela exécutera démo chaque appel à faire, alors que ce n'est pas exactement ce que je veux – dimba