我想补充一个CMake的目标其中,发时,将触发以下内容:在cmake命令中使用子壳体或管道?
rm $(find "${CMAKE_SOURCE_DIR}" -name "*.rej" -or -name "*.orig")
我尝试这样做:
add_custom_target(pclean
COMMAND bash -c "rm $(find \"${CMAKE_SOURCE_DIR}\" -name \"*.rej\" -or -name \"*.orig\")")
这:
但既不工程。我应该如何做到这一点?我应该使用类似add_custom_command
?
注意:这里的问题不是引号。因此,如果我使用:
add_custom_target(pclean
COMMAND bash -c "find "${CMAKE_SOURCE_DIR}" -name \"*.rej\" -or -name \"*.orig\"")
我得到的*.orig
和*.rej
文件列表。
@Florian:引号不是问题。 – einpoklum
你可以使用'ADDITIONAL_MAKE_CLEAN_FILES'属性吗? 例如'SET(addfiles foo bar) set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES“$ {addfiles}”)'要获取要删除的文件列表,可以使用'file(GLOB ...)'命令。 – vre
@vre:我不知道这件事...会考虑它。 ...哦,等等,这不会导致'make clean'去除这些文件吗?我不希望这种情况发生。 – einpoklum