使用$ @

时间:2017-04-25 20:25:11

标签: cmake

我想知道在cmake中我们是否可以做类似

的事情
add_custom_command(OUTPUT some_folder/some_program
        COMMAND c++ ./main.cpp -o $@)

make中,令牌$@应该是输出文件(目标) - 在这种情况下它是some_folder/some_program

make中,我们有这些特殊变量$<, $1, $@。在cmake我尝试过,但结果很奇怪。

由于

1 个答案:

答案 0 :(得分:0)

在CMake中有无自动变量,它指的是当前命令的输出文件或输入

如果您不想复制内容,可以创建包含输出文件的变量。或者创建包含整个add_custom_command调用的函数/宏:

function(compile_me target_file)
    add_custom_command(OUTPUT ${target} COMMAND c++ -o ${target} ${ARGN})
function()

compile_me(some_folder/some_program main.cpp)