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в каждой строке индивидуально в соответствии с моим примером кода?