Добавить зависимость.
Результат операции распаковки должен быть использован на следующем этапе сборки. Добавьте зависимость между распаковкой и шагом сборки.
- Используйте
add_custom_command
, чтобы распаковать файлы и скопировать их в нужную папку
- Расширить вашу цель зависимостью от извлеченных файлов
Следующий пример показывает это для цели TTNLIB
.
Пример:
add_custom_command(OUTPUT ${CMAKE_SOURCE_DIR}/src/ttnbitvector.cpp
COMMAND ${CMAKE_COMMAND} -E tar xkf ${CMAKE_SOURCE_DIR}/external/ttnbitvector.cpp.zip -C ${CMAKE_SOURCE_DIR}/external
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/external/ttnbitvector.cpp ${CMAKE_SOURCE_DIR}/src/ttnbitvector.cpp
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/external
COMMENT Extract ${CMAKE_SOURCE_DIR}/src/ttnbitvector.cpp
)
add_library(TTNLIB SHARED ${SOURCES} ${CMAKE_SOURCE_DIR}/src/ttnbitvector.cpp)
Примечание: ознакомьтесь с документацией add_custom_command
См. cmake solutions для получения дополнительной информации.