Update OpenCVDownload.cmake to fix log crash

This suppresses the interpretation of string literals by switching the ocv_download_log from a macro to a function.
This avoid crashes when the string to log contains escape characters.

More details about the problem this PR fixes are available at: https://github.com/opencv/opencv_contrib/issues/1131
This commit is contained in:
jchazalon 2018-03-07 15:35:37 +01:00 committed by GitHub
parent 8edc2e5aaf
commit bf5f7380cf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -34,9 +34,9 @@ file(WRITE "${OPENCV_DOWNLOAD_LOG}" "use_cache \"${OPENCV_DOWNLOAD_PATH}\"\n")
function(ocv_download) function(ocv_download)
cmake_parse_arguments(DL "UNPACK;RELATIVE_URL" "FILENAME;HASH;DESTINATION_DIR;ID;STATUS" "URL" ${ARGN}) cmake_parse_arguments(DL "UNPACK;RELATIVE_URL" "FILENAME;HASH;DESTINATION_DIR;ID;STATUS" "URL" ${ARGN})
macro(ocv_download_log) function(ocv_download_log)
file(APPEND "${OPENCV_DOWNLOAD_LOG}" "${ARGN}\n") file(APPEND "${OPENCV_DOWNLOAD_LOG}" "${ARGN}\n")
endmacro() endfunction()
ocv_assert(DL_FILENAME) ocv_assert(DL_FILENAME)
ocv_assert(DL_HASH) ocv_assert(DL_HASH)