From 81f5bbbd1ee51b6d97740d5df91441f10f435605 Mon Sep 17 00:00:00 2001 From: Andrei Astafev Date: Fri, 4 Aug 2023 10:16:31 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=BF=D1=82=D0=B8=D0=BC=D0=B8=D0=B7?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B?= =?UTF-8?q?=20=D1=81=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B6=D0=B0=D0=B5?= =?UTF-8?q?=D0=BC=D1=8B=D0=BC=20=D1=81=D0=BE=D0=B4=D0=B5=D1=80=D0=B6=D0=B8?= =?UTF-8?q?=D0=BC=D1=8B=D0=BC=20=D0=B8=D0=B7=20git?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MyxCMake/lib/DownloadContent.cmake | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) 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}