我正在尝试创建一个与以下make相当的cmake:
demo: main.cpp
gcc -o demo main.cpp
./demo
每当创建演示时都会执行演示。
这就是我所说的,但是演示没有按照我想要的方式执行:
add_executable(demo main.cpp)
add_custom_target(run_demo demo)
这实际上相当于:
all: demo
demo: main.cpp
gcc -o demo main.cpp
run_demo:demo
我想念什么?
答案 0 :(得分:3)
我不完全确定你想要什么,因为你发布的Makefile片段没有按你所说的去做。但是根据对Kleist的回答的评论判断,你希望每次重新编译时都能运行该演示。您可以按如下方式实现:
add_executable(demo main.cpp)
add_custom_command(TARGET demo
POST_BUILD COMMAND ${CMAKE_CURRENT_BINARY_DIR}/demo)
答案 1 :(得分:0)
您需要将run_demo添加到ALL目标:
add_custom_target(run_demo ALL demo)