Допустим, у меня есть блок ниже в моем CMakeLists.txt
.
file (DOWNLOAD http://.../file.zip "${CMAKE_BINARY_DIR}/file.zip")
execute_process (
COMMAND "${CMAKE_COMMAND}" -E tar -xf file.zip
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
)
add_custom_command (
OUTPUT output.txt
COMMAND "${MY_COMMAND}" file-found-in-zip.txt output.txt
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
)
Основные c шаги:
- Загрузка.
- Извлечь.
- Добавить пользовательскую команду, которая использует файл, извлеченный на шаге 2.
Во время шага сборки пользовательская команда может или не может быть выполнена, но загрузка и добыча всегда будет. Как сделать загрузку и извлечение условными, чтобы это происходило только в том случае, если нужная команда, которая нуждается в ней, будет выполнена?