Вы можете использовать STEP_TARGETS
параметр, подобный этому
ExternalProject_Add(
foo
URL ${PROJECT_SOURCE_DIR}/ext/foo.tar.gz
BUILD_IN_SOURCE 1
#Need copyFromOthers to run here, before configure but after untar
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
STEP_TARGETS download
)
Затем вы можете использовать целевой "foo-download" в других командах ExternalProject_Add с параметром DEPENDS
:
ExternalProject_Add (<some_target_name>
<...>
DEPENDS foo-download
)
Например, вы можете построить внешний проект, который зависит от других внешних проектов. Невозможно использовать зависимости типа «foo-download» для построения целей, определенных с помощью команд, таких как add_executable
или add_library
, но вы можете использовать «порядковые» цели, определенные ExternalProject_Add
(например, «foo») в такие команды:
add_dependencies (some_target foo)
Также вы можете использовать команды ExternalProject_Add_Step
для добавления шагов к целям, определенным ExternalProject_Add
. См. ВнешнийПроект для получения более подробной информации