|
|
|
function (download_model MODEL_NAME MODEL_DOWNLOAD_FLAG MODEL_RELATIVE_PATH CHECKSUM) |
|
if (MODEL_DOWNLOAD_FLAG) |
|
message(STATUS "Downloading ${MODEL_NAME} model...") |
|
set(MODEL_FILENAME ${CMAKE_SOURCE_DIR}/models/${MODEL_RELATIVE_PATH}) |
|
if (NOT EXISTS ${MODEL_FILENAME}) |
|
message(STATUS "NOTE: This process might take several minutes depending on your internet connection.") |
|
file(DOWNLOAD ${OPENPOSE_URL}${MODEL_RELATIVE_PATH} ${MODEL_FILENAME} |
|
EXPECTED_MD5 ${CHECKSUM}) |
|
else (NOT EXISTS ${MODEL_FILENAME}) |
|
message(STATUS "Model already exists.") |
|
endif (NOT EXISTS ${MODEL_FILENAME}) |
|
else (MODEL_DOWNLOAD_FLAG) |
|
message(STATUS "Not downloading ${MODEL_NAME} model") |
|
endif (MODEL_DOWNLOAD_FLAG) |
|
endfunction (download_model) |
|
|
|
|
|
function(download_zip FILE_NAME URL DOWNLOAD_PATH CHECKSUM) |
|
set(FULL_FILE_PATH "${DOWNLOAD_PATH}/${FILE_NAME}") |
|
if (NOT EXISTS ${FULL_FILE_PATH}) |
|
message(STATUS "Downloading ${URL}/${FILE_NAME}...") |
|
file(DOWNLOAD "${URL}/${FILE_NAME}" "${DOWNLOAD_PATH}/${FILE_NAME}" |
|
EXPECTED_MD5 ${CHECKSUM}) |
|
message(STATUS "Extracting ${FULL_FILE_PATH}...") |
|
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf ${FILE_NAME} WORKING_DIRECTORY ${DOWNLOAD_PATH}) |
|
else (NOT EXISTS ${FULL_FILE_PATH}) |
|
message(STATUS "${FILE_NAME} already exists.") |
|
endif (NOT EXISTS ${FULL_FILE_PATH}) |
|
endfunction(download_zip) |
|
|
|
|
|
function(prepend var prefix) |
|
set(listVar "") |
|
foreach (f ${ARGN}) |
|
list(APPEND listVar "${prefix}/${f}") |
|
endforeach (f) |
|
set(${var} "${listVar}" PARENT_SCOPE) |
|
endfunction(prepend) |
|
|
|
|
|
macro(subdirlist result curdir) |
|
FILE(GLOB children RELATIVE ${curdir} ${curdir}/*) |
|
SET(dirlist "") |
|
foreach (child ${children}) |
|
if (IS_DIRECTORY ${curdir}/${child} AND NOT ${child} STREQUAL "CMakeFiles") |
|
list(APPEND dirlist ${child}) |
|
endif() |
|
endforeach () |
|
set(${result} ${dirlist}) |
|
endmacro() |