我想在CMake中的链接命令中添加一个帖子链接步骤。例如。类似的东西:
set(CMAKE_C_LINK_EXECUTABLE
"${CMAKE_C_LINK_EXECUTABLE}"
"postlink <TARGET> ${CMAKE_BINARY_DIR}/$$(basename <TARGET>).foo")
$$(basename <TARGET>)
是令人头痛的部分。这是行不通的。没有反叛。 <TARGET_BASE>
给出没有扩展名的文件路径但是如何摆脱目录路径?我可以通过使用postlink命令的包装脚本解决它,但它会非常难看,我只是想知道是否有更好的方法来做它。
答案 0 :(得分:0)
您可以使用add_custom_command(TARGET ... POST_BUILD ...)
执行此操作,而不是更改CMAKE_C_LINK_EXECUTABLE
:
function(add_post_processing_to_target _target)
add_custom_command(
TARGET ${_target}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo "--- postlink $<TARGET_FILE:${_target}>"
COMMAND postlink $<TARGET_FILE:${_target}> ${CMAKE_BINARY_DIR}/${_target}.foo
)
endfunction()
要回答原始问题,请尝试<TARGET_NAME>