diff --git a/CMake/download_kvasd.cmake b/CMake/download_kvasd.cmake index 9050b5c22..f1a8b174f 100644 --- a/CMake/download_kvasd.cmake +++ b/CMake/download_kvasd.cmake @@ -1,34 +1,41 @@ # # CMake script to fetch kvasd binary for the current platform # -set (kvasd_NAME ${URL}/${SYSTEM_NAME}/kvasd${EXECUTABLE_SUFFIX}) -message (STATUS "file: ${kvasd_NAME}") +set (kvasd_NAME "${URL}/${SYSTEM_NAME}/kvasd${EXECUTABLE_SUFFIX}") +set (kvasd_target "contrib/kvasd${EXECUTABLE_SUFFIX}") +message (STATUS "downloading file: ${kvasd_NAME}.md5") file ( - DOWNLOAD ${kvasd_NAME}.md5 contrib/kvasd${EXECUTABLE_SUFFIX}.md5 + DOWNLOAD "${kvasd_NAME}.md5" "${kvasd_target}.md5" TIMEOUT 120 STATUS status LOG log SHOW_PROGRESS ) -list (GET staus 0 rc) -if (rc) - message (WARNING "${status}") - message (FATAL_ERROR "${log}") -endif (rc) -file (READ contrib/kvasd${EXECUTABLE_SUFFIX}.md5 md5sum) -string (REGEX MATCH "[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]" md5sum "${md5sum}") - -file ( - DOWNLOAD ${kvasd_NAME} contrib/kvasd${EXECUTABLE_SUFFIX} - TIMEOUT 120 - STATUS status - LOG log - SHOW_PROGRESS - EXPECTED_MD5 "${md5sum}" - ) list (GET status 0 rc) if (rc) message (WARNING "${status}") message (FATAL_ERROR "${log}") endif (rc) +file (READ "${kvasd_target}.md5" md5sum) +string (REGEX MATCH "[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]" md5sum "${md5sum}") + +file (MD5 "${kvasd_target}" current_md5sum) +if (NOT "${md5sum}" STREQUAL "${current_md5sum}") + message (STATUS "downloading file: ${kvasd_NAME}") + file ( + DOWNLOAD ${kvasd_NAME} contrib/kvasd${EXECUTABLE_SUFFIX} + TIMEOUT 120 + STATUS status + LOG log + SHOW_PROGRESS + EXPECTED_MD5 "${md5sum}" + ) + list (GET status 0 rc) + if (rc) + message (WARNING "${status}") + message (FATAL_ERROR "${log}") + endif (rc) +else (NOT "${md5sum}" STREQUAL "${current_md5sum}") + message (STATUS "file: ${kvasd_NAME} up to date") +endif (NOT "${md5sum}" STREQUAL "${current_md5sum}") diff --git a/CMakeLists.txt b/CMakeLists.txt index 9c2f6b93d..b640c9f32 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,7 +49,7 @@ set (PROJECT_DESCRIPTION "${PROJECT_SUMMARY_DESCRIPTION} standard SSB-width IF filters, switching between JT65 and JT9 modes is quick and convenient. Be sure to read the online ${PROJECT_NAME} User's Guide.") -set (PROJECT_KVASD_URL https://svn.code.sf.net/p/wsjt/wsjt/trunk/kvasd-binary) +set (PROJECT_KVASD_URL http://svn.code.sf.net/p/wsjt/wsjt/trunk/kvasd-binary) set (CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMake/Modules ${CMAKE_MODULE_PATH})