Как передать список файлов в add_custom_command в CMake? - PullRequest
0 голосов
/ 20 декабря 2018

Я создаю zip-файл в CMake для каждой сборки, которую я запускаю.У меня есть список всех файлов, которые мне нужно скопировать в каталог сборки, а также добавить в zip-файл.Я не выяснил, как я могу передать список в add_custom_command без повторного перечисления вручную всех файлов в add_custom_command.

# Copy needed files to build directory
set (ADDITIONAL_FILES
    "${SOME_LIBRARY_DIR}/some_library.dll"
    "${PROJECT_SOURCE_DIR}/readme.txt"
)
foreach (file ${ADDITIONAL_FILES})
    get_filename_component(file_name ${file} NAME)
    configure_file(
        ${file}
        "${PROJECT_BINARY_DIR}/${file_name}" COPYONLY)
endforeach()

# Create release zip file
add_custom_command(OUTPUT
   "${PROJECT_NAME}_v${${PROJECT_NAME}_VERSION}.zip"
   DEPENDS ${PROJECT_NAME}
   COMMAND ${CMAKE_COMMAND} -E tar "cfv"
   "${PROJECT_BINARY_DIR}/${PROJECT_NAME}_v${${PROJECT_NAME}_VERSION}.zip"
   --format=zip
   "${PROJECT_BINARY_DIR}/${PROJECT_NAME}.exe"
   "${PROJECT_BINARY_DIR}/some_library.dll"
   "${PROJECT_BINARY_DIR}/readme.txt"
   COMMAND ${CMAKE_COMMAND} -E echo "creating zip")
add_custom_target(run ALL
  DEPENDS "${PROJECT_NAME}_v${${PROJECT_NAME}_VERSION}.zip"
)

Как передать список файлов в add_custom_command?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...