Флаг AUTOPULL

This commit is contained in:
Andrei Astafev 2023-08-02 14:31:48 +03:00
parent 3375e8b74d
commit b5c3fd34b3

View File

@ -16,6 +16,8 @@ myx_download_content
загрузить с помощью git. загрузить с помощью git.
Параметр `GIT_TAG` содержит используемые метку, идентификатор коммита или Параметр `GIT_TAG` содержит используемые метку, идентификатор коммита или
ветку в загружаемом репозитории. ветку в загружаемом репозитории.
Если указана опция `AUTOPULL`, то загруженный репозиторий будет
обновляться автоматически.
#]=======================================================================] #]=======================================================================]
@ -24,7 +26,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) set(options 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})
@ -65,10 +67,12 @@ function(myx_download_content NAME)
execute_process(COMMAND ${GIT_EXECUTABLE} checkout ${ARG_GIT_TAG} execute_process(COMMAND ${GIT_EXECUTABLE} checkout ${ARG_GIT_TAG}
WORKING_DIRECTORY ${ARG_DOWNLOAD_DIR}/${NAME}) WORKING_DIRECTORY ${ARG_DOWNLOAD_DIR}/${NAME})
else() else()
if(ARG_AUTOPULL)
execute_process(COMMAND ${GIT_EXECUTABLE} pull execute_process(COMMAND ${GIT_EXECUTABLE} pull
WORKING_DIRECTORY ${ARG_DOWNLOAD_DIR}/${NAME}) WORKING_DIRECTORY ${ARG_DOWNLOAD_DIR}/${NAME})
endif() endif()
endif() endif()
endif()
if(NOT CMAKE_SCRIPT_MODE_FILE) if(NOT CMAKE_SCRIPT_MODE_FILE)
add_subdirectory(${ARG_DOWNLOAD_DIR}/${NAME} EXCLUDE_FROM_ALL) add_subdirectory(${ARG_DOWNLOAD_DIR}/${NAME} EXCLUDE_FROM_ALL)