代码之家  ›  专栏  ›  技术社区  ›  dimba

CMAKE依赖项

  •  1
  • dimba  · 技术社区  · 15 年前

    我正在尝试创建一个与以下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
    

    我错过了什么?

    2 回复  |  直到 15 年前
        1
  •  3
  •   richq luc    15 年前

    我不完全确定你想要什么,因为你发布的makefile片段并没有按照你所说的去做。但从对Kleist答案的评论来看,您希望每次重新编译演示时都运行它。您可以通过以下方式实现:

    add_executable(demo main.cpp)
    add_custom_command(TARGET demo
                       POST_BUILD COMMAND ${CMAKE_CURRENT_BINARY_DIR}/demo)
    
        2
  •  0
  •   Kleist    15 年前

    您需要将run_demo添加到所有目标:

    add_custom_target(run_demo ALL demo)