Skip to content
  • David Cole's avatar
    Improve FILE(DOWNLOAD) and ExternalProject. · f67139ae
    David Cole authored
    Improve FILE(DOWNLOAD ...):
    
    - Add percent complete progress output to the FILE DOWNLOAD
      command. This progress output is off by default to
      preserve existing behavior. To turn it on, pass
      SHOW_PROGRESS as an argument.
    
    - Add EXPECTED_MD5 argument. Verify that the downloaded
      file has the expected md5 sum after download is complete.
    
    - Add documentation for SHOW_PROGRESS and EXPECTED_MD5.
    
      When the destination file exists already and has the
      expected md5 sum, then do not bother re-downloading
      the file. ("Short circuit" return.)
    
      Also, add a test that checks for the status output
      indicating that the short circuit behavior is actually
      occurring. Use a binary file for the test so that the
      md5 sum is guaranteed to be the same on all platforms
      regardless of "shifting text file line ending" issues.
    
    Improve ExternalProject:
    
    - Add argument URL_MD5.
    
    - Add verify step that compares md5 sum of .tar.gz file
      before extracting it.
    
    - Add md5 check to download step, too, to prevent
      unnecessary downloads.
    
    - Emit a warning message when a file is not verified.
      Indicate that the file may be corrupt or that no
      checksum was specified.
    f67139ae