set(OUTPUT_PATH "some_path/some_path2/")
set(NAME_XML "external/some_folder/somexml.xml")
set(OUTPUT_DIRECTORY "header1.h" "header2.h" "header3.h")
add_custom_target(
some_target ALL
DEPENDS ${OUTPUT_PATH}header1.h
DEPENDS ${OUTPUT_PATH}header2.h
......
)
foreach(item ${OUTPUT_DIRECTORY})
message(STATUS "testing..." ${item})
add_custom_command(
COMMAND python3 ${OUTPUT_PATH}/main.py -n "1" -p "${OUTPUT_PATH}" -f "${NAME_XML}" -o "${item}"
DEPENDS ${NAME_XML}
OUTPUT ${OUTPUT_PATH}${item}
COMMENT "some comment: ${item}"
)
endforeach(item)
这项工作的目标是,如果找不到头文件(对于每种情况)或已被修改,则调用python脚本。同样,如果XML文件已被修改,我想通过调用python脚本重新生成所有头文件。
python脚本允许我们传递要生成的各个头文件,这就是为什么我有这个" foreach"。因此,我只想按照上一段的要求来调用它。
如何修改代码以实现这一点以及如何将OUTPUT_DIRECTORY作为列表添加到add_custom_target中,而不是按照我的代码示例单独在每行中添加DEPENDS?