rclone.cmake (920B)
1 if(NOT ROOT_DIR) 2 set(ROOT_DIR ${CMAKE_BINARY_DIR}) 3 endif() 4 5 if(NOT RCLONE_CONF) 6 if(DEFINED ENV{RCLONE_CONF}) 7 set(RCLONE_CONF $ENV{RCLONE_CONF}) 8 else() 9 set(RCLONE_CONF ${ROOT_DIR}/rclone.conf) 10 endif() 11 endif() 12 13 macro(copyArtefacts TARGET FOLDER FILEFILTER) 14 set(RCLONE_RESULT 0) 15 execute_process(COMMAND rclone --transfers 5 -v --config ${RCLONE_CONF} copy --include "/*${FILEFILTER}*.{zip,deb,rpm}" --min-size 8k ${ROOT_DIR}/ "${TARGET}/${FOLDER}/" 16 COMMAND_ECHO STDOUT RESULT_VARIABLE RCLONE_RESULT WORKING_DIRECTORY ${ROOT_DIR}) 17 if(RCLONE_RESULT) 18 message(FATAL_ERROR "Failed to execute rclone: " ${CMD_RESULT}) 19 endif() 20 21 endmacro() 22 23 macro(copyDataFrom FROM TO) 24 execute_process(COMMAND rclone --config "${RCLONE_CONF}" sync "dsp56300:${FROM}" "${TO}" COMMAND_ECHO STDOUT RESULT_VARIABLE RCLONE_RESULT) 25 if(RCLONE_RESULT) 26 message(FATAL_ERROR "Failed to execute rclone: " ${CMD_RESULT}) 27 endif() 28 endmacro()