add_custom_target列表提供的多个依赖项

时间:2018-06-05 10:39:09

标签: cmake

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?

0 个答案:

没有答案