diff --git a/MyxCMake/lib/DownloadContent.cmake b/MyxCMake/lib/DownloadContent.cmake index a5e0833..530a856 100644 --- a/MyxCMake/lib/DownloadContent.cmake +++ b/MyxCMake/lib/DownloadContent.cmake @@ -7,7 +7,8 @@ myx_download_content myx_download_content(NAME [ DOWNLOAD_DIR dir ] | [ GIT_REPOSITORY url ] | - [ GIT_TAG tag ] ) + [ GIT_TAG tag ] | + [ AUTOFETCH ] | [ AUTOPULL ] ) Обязательный параметр: `NAME` - имя целевого каталога. Параметр `DOWNLOAD_DIR` содержит имя каталога, в который будет загружаться @@ -16,8 +17,10 @@ myx_download_content загрузить с помощью git. Параметр `GIT_TAG` содержит используемые метку, идентификатор коммита или ветку в загружаемом репозитории. -Если указана опция `AUTOPULL`, то загруженный репозиторий будет -обновляться автоматически. +Если указана опция `AUTOFETCH`, то на этапе конфигурирования для загруженного +репозитория будут скачиваться изменения. +Если указана опция `AUTOPULL`, то на этапе конфигурирования из загруженного +репозитория будет изменяться рабочий каталог. #]=======================================================================] @@ -26,7 +29,7 @@ find_package(Git QUIET) option(ENABLE_DOWNLOAD_CONTENT "Enable download content" ON) function(myx_download_content NAME) - set(options AUTOPULL) + set(options AUTOFETCH AUTOPULL) set(oneValueArgs) set(multiValueArgs DOWNLOAD_DIR GIT_REPOSITORY GIT_TAG) cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) @@ -61,8 +64,10 @@ function(myx_download_content NAME) execute_process(COMMAND ${GIT_EXECUTABLE} clone ${ARG_GIT_REPOSITORY} ${NAME} WORKING_DIRECTORY ${ARG_DOWNLOAD_DIR}) else() - execute_process(COMMAND ${GIT_EXECUTABLE} fetch - WORKING_DIRECTORY ${WORK_DIR}) + if(ARG_AUTOFETCH) + execute_process(COMMAND ${GIT_EXECUTABLE} fetch + WORKING_DIRECTORY ${WORK_DIR}) + endif() endif() if(ARG_GIT_TAG) execute_process(COMMAND ${GIT_EXECUTABLE} checkout ${ARG_GIT_TAG}