CMake/Tests/ExternalProject
David Cole f67139ae6f Improve FILE(DOWNLOAD) and ExternalProject.
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.
2010-05-27 12:21:56 -04:00
..
CMakeLists.txt Improve FILE(DOWNLOAD) and ExternalProject. 2010-05-27 12:21:56 -04:00
Step1.tar ENH: First draft of add_external_project functionality. Tweaks, dashboard fixing, more tests and documentation certain to follow as it gets used by others... 2008-12-04 13:27:48 -05:00
Step1.tgz ENH: First draft of add_external_project functionality. Tweaks, dashboard fixing, more tests and documentation certain to follow as it gets used by others... 2008-12-04 13:27:48 -05:00
Step1NoDir.tar ENH: First draft of add_external_project functionality. Tweaks, dashboard fixing, more tests and documentation certain to follow as it gets used by others... 2008-12-04 13:27:48 -05:00
Step1NoDir.tgz ENH: First draft of add_external_project functionality. Tweaks, dashboard fixing, more tests and documentation certain to follow as it gets used by others... 2008-12-04 13:27:48 -05:00
Step1Patch.cmake ENH: Allow lists in AddExternalProject arguments 2009-04-09 13:56:08 -04:00
TryCheckout.cmake ENH: Use a TryCheckout technique to decide whether or not to attempt building the projects that depend on a cvs or svn download method. 2008-12-04 15:30:37 -05:00
cvsrepo.tgz ENH: Add *.tgz files of cvs and svn repositories containing the TutorialStep1 project to test cvs and svn capabilities of ExternalProject without requiring network activity. 2009-06-25 12:03:00 -04:00
svnrepo.tgz BUG: Downgrade svn repository to be created with an svn 1.2 installation (rather than 1.4) so that it works (hopefully) with more svn clients in the wild. Change time stamps of test projects in CMakeLists.txt to reflect times available in newly created repository. Add UPDATE_COMMAND "" for checkouts that are tag-based or date-stamp-based to avoid unnecessary update steps. 2009-06-26 13:00:39 -04:00