我想知道在cmake中我们是否可以做类似
的事情add_custom_command(OUTPUT some_folder/some_program
COMMAND c++ ./main.cpp -o $@)
在make
中,令牌$@
应该是输出文件(目标) - 在这种情况下它是some_folder/some_program
。
在make
中,我们有这些特殊变量$<, $1, $@
。在cmake
我尝试过,但结果很奇怪。
由于
答案 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)