Оптимизация работы с загружаемым содержимым из git
This commit is contained in:
parent
81d61deb9b
commit
81f5bbbd1e
@ -7,7 +7,8 @@ myx_download_content
|
|||||||
myx_download_content(NAME
|
myx_download_content(NAME
|
||||||
[ DOWNLOAD_DIR dir ] |
|
[ DOWNLOAD_DIR dir ] |
|
||||||
[ GIT_REPOSITORY url ] |
|
[ GIT_REPOSITORY url ] |
|
||||||
[ GIT_TAG tag ] )
|
[ GIT_TAG tag ] |
|
||||||
|
[ AUTOFETCH ] | [ AUTOPULL ] )
|
||||||
|
|
||||||
Обязательный параметр: `NAME` - имя целевого каталога.
|
Обязательный параметр: `NAME` - имя целевого каталога.
|
||||||
Параметр `DOWNLOAD_DIR` содержит имя каталога, в который будет загружаться
|
Параметр `DOWNLOAD_DIR` содержит имя каталога, в который будет загружаться
|
||||||
@ -16,8 +17,10 @@ myx_download_content
|
|||||||
загрузить с помощью git.
|
загрузить с помощью git.
|
||||||
Параметр `GIT_TAG` содержит используемые метку, идентификатор коммита или
|
Параметр `GIT_TAG` содержит используемые метку, идентификатор коммита или
|
||||||
ветку в загружаемом репозитории.
|
ветку в загружаемом репозитории.
|
||||||
Если указана опция `AUTOPULL`, то загруженный репозиторий будет
|
Если указана опция `AUTOFETCH`, то на этапе конфигурирования для загруженного
|
||||||
обновляться автоматически.
|
репозитория будут скачиваться изменения.
|
||||||
|
Если указана опция `AUTOPULL`, то на этапе конфигурирования из загруженного
|
||||||
|
репозитория будет изменяться рабочий каталог.
|
||||||
|
|
||||||
#]=======================================================================]
|
#]=======================================================================]
|
||||||
|
|
||||||
@ -26,7 +29,7 @@ find_package(Git QUIET)
|
|||||||
option(ENABLE_DOWNLOAD_CONTENT "Enable download content" ON)
|
option(ENABLE_DOWNLOAD_CONTENT "Enable download content" ON)
|
||||||
|
|
||||||
function(myx_download_content NAME)
|
function(myx_download_content NAME)
|
||||||
set(options AUTOPULL)
|
set(options AUTOFETCH AUTOPULL)
|
||||||
set(oneValueArgs)
|
set(oneValueArgs)
|
||||||
set(multiValueArgs DOWNLOAD_DIR GIT_REPOSITORY GIT_TAG)
|
set(multiValueArgs DOWNLOAD_DIR GIT_REPOSITORY GIT_TAG)
|
||||||
cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||||
@ -61,9 +64,11 @@ function(myx_download_content NAME)
|
|||||||
execute_process(COMMAND ${GIT_EXECUTABLE} clone ${ARG_GIT_REPOSITORY} ${NAME}
|
execute_process(COMMAND ${GIT_EXECUTABLE} clone ${ARG_GIT_REPOSITORY} ${NAME}
|
||||||
WORKING_DIRECTORY ${ARG_DOWNLOAD_DIR})
|
WORKING_DIRECTORY ${ARG_DOWNLOAD_DIR})
|
||||||
else()
|
else()
|
||||||
|
if(ARG_AUTOFETCH)
|
||||||
execute_process(COMMAND ${GIT_EXECUTABLE} fetch
|
execute_process(COMMAND ${GIT_EXECUTABLE} fetch
|
||||||
WORKING_DIRECTORY ${WORK_DIR})
|
WORKING_DIRECTORY ${WORK_DIR})
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
if(ARG_GIT_TAG)
|
if(ARG_GIT_TAG)
|
||||||
execute_process(COMMAND ${GIT_EXECUTABLE} checkout ${ARG_GIT_TAG}
|
execute_process(COMMAND ${GIT_EXECUTABLE} checkout ${ARG_GIT_TAG}
|
||||||
WORKING_DIRECTORY ${WORK_DIR})
|
WORKING_DIRECTORY ${WORK_DIR})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user