summaryrefslogtreecommitdiffstats
path: root/Modules/ExternalProject.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Modules: Fix spelling 'To distributed' -> 'To distribute'Todd Gamblin2010-08-091-1/+1
|
* Merge topic 'ExternalProject-cygwin-make'Brad King2010-08-031-0/+20
|\ | | | | | | | | ed43ea6 ExternalProject: Fix $(MAKE) with cygpath on Windows
| * ExternalProject: Fix $(MAKE) with cygpath on WindowsBrad King2010-08-021-0/+20
| | | | | | | | | | In non-cygwin builds using Cygwin's make tool, use cygpath to transform the value of $(MAKE) to something Windows understands.
* | Merge topic 'fix-issue-11034'Brad King2010-08-031-10/+2
|\ \ | |/ |/| | | | | 9fa49dc ExternalProject: Remove 'unknown keyword' warning (#11034)
| * ExternalProject: Remove 'unknown keyword' warning (#11034)David Cole2010-07-281-10/+2
| | | | | | | | | | | | The intent was to warn about misspelled keyword arguments, but the effect was to warn about valid argument values far too often. Let's stop annoying and confusing people.
* | ExternalProject: Use $(MAKE) whenever possible.David Cole2010-07-231-3/+5
|/ | | | | | ExternalProject_Add calls that did not explicitly request a CMAKE_GENERATOR would not get recursive parallel make behavior. This commit fixes that issue.
* Merge topic 'external-project-launcher'Brad King2010-07-131-0/+137
|\ | | | | | | | | | | b2634b6 Detect CMake warnings and errors in build output. 012c986 ExternalProject: Add LOG_* options to hide step output
| * Detect CMake warnings and errors in build output.David Cole2010-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fix niggly in ExternalProject that would inadvertently create a log file of output when a command was explicitly set to the empty string. Also, increase the default value for showing context around build errors to 10 lines, up from 6. Also add the ability to customize this setting so that users can put it back to 6 or even lower if they want, or show more if they want.
| * ExternalProject: Add LOG_* options to hide step outputBrad King2010-06-211-0/+137
| | | | | | | | | | | | Optionally hide the output of each external project build step by wrapping its command in a launcher script. Make output available in log files instead. This simplifies the output of external project builds.
* | Qualify name of extraction location with ExternalProject name.David Cole2010-06-231-5/+4
|/ | | | | | | Avoid issues with two external projects trying to extract two separate trees at the same time into the same location. Should fix the sporadically failing ExternalProject test on the dashboards for parallel builds.
* Fix issue #10346. Error if SOURCE_DIR is empty.David Cole2010-06-091-1/+14
| | | | | | | | | | | | | | | See http://public.kitware.com/Bug/view.php?id=10346. The proposed patch for the issue could not be applied as is because the SOURCE_DIR always exists for an ExternalProject_Add call by the time we get to the place to emit the potential error. The fix is to emit the error only if the source dir is empty. By which, I mean devoid of files and subdirectories. If SOURCE_DIR is used by itself, without any DOWNLOAD_COMMAND or repository info, then it implies that the SOURCE_DIR is ready to build as-is without need for a download step. Clearly, if it is empty, then it is not ready to build as is. So complain if the SOURCE_DIR is empty.
* Merge branch 'improve-file-download'Brad King2010-06-071-11/+68
|\ | | | | | | | | Conflicts: Modules/ExternalProject.cmake
| * Improve FILE(DOWNLOAD) and ExternalProject.David Cole2010-05-271-11/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge branch 'add-git-to-ExternalProject'Brad King2010-06-071-0/+128
|\ \ | | | | | | | | | | | | Conflicts: Modules/ExternalProject.cmake
| * | Add FindGit module.David Cole2010-06-031-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use it from ExternalProject and the ExternalProject test's CMakeLists file rather than having duplicate find_program calls. Add logic so that we do not try to use *.cmd variants of git programs when using the MSYS Makefiles generator. Should fix the last remaining dashboard issue with the new ExternalProject git support additions. Also, correct minor problem regarding placement of the local git repo during test execution. On clean builds, it was being placed incorrectly because of the ../.. relative reference. Use an absolute path to place the local git repo in the proper directory, and only use the relative reference when referring to it.
| * | Add git support to ExternalProject.David Cole2010-06-021-0/+129
| |/ | | | | | | | | Requires at least version 1.6.5 of a git client for git submodule update --recursive use.
* | Merge branch 'more-formats-in-ExternalProject'Brad King2010-06-071-9/+9
|\ \
| * | Add .zip and .tar.bz2 extraction to ExternalProject.David Cole2010-05-311-9/+9
| |/ | | | | | | | | | | | | | | | | Add archives of these file types and add to the test cases covered in the ExternalProject test. Also add an "Example" directory in the Tests/ExternalProject directory containing the canonical simplest example of ExternalProject usage.
* | Merge branch 'use-rename-not-copy-ExternalProject'Brad King2010-06-071-9/+10
|\ \
| * | Use RENAME, not COPY, to extract .tar.gz files.David Cole2010-05-261-9/+10
| |/ | | | | | | | | | | Use ABSOLUTE file name for the RENAME operation. (Thanks to Marcus for figuring out that it doesn't work on Linux without the ABSOLUTE bit.)
* | Merge branch 'ExternalProject-fixes'Brad King2010-06-071-1/+12
|\ \
| * | Fix issue #10258: re-configure if args change.David Cole2010-05-261-1/+12
| |/ | | | | | | | | | | | | | | Fixes issue http://public.kitware.com/Bug/view.php?id=10258 Also, fix complaint that DOWNLOAD_COMMAND cannot contain arguments consisting entirely of upper case letters. It validly does when, for example, you construct a custom cvs command line and the module name is all upper case, like VTK.
* | Add svn user name and password to ExternalProject.David Cole2010-05-261-3/+11
|/ | | | Thanks to JCFR for the leg work.
* -revert the previous unintended commitAlex Neundorf2010-04-101-2/+0
| | | | Alex
* -no change, don't know why git wants to commit somethingAlex Neundorf2010-04-101-0/+2
| | | | | | | | | | (I accidentially removed ExternalProject.cmake from git by doing mv ExternalProject.cmake ExternalProject.cmake.save git checkout master which I hoped would basically do a revert as it does with svn and cvs, but it deleted the file from git) Alex
* Fix issue #9764 - add TIMEOUT arg to ExternalProject_Add so that callers ↵David Cole2009-12-111-5/+12
| | | | have explicit control over the amount of time they are willing to wait for a download step. Default to no timeout, which means just run download for however long it takes.
* Eliminate ExternalProject's use of CMAKE_CFG_INTDIR subdir for Makefile ↵David Cole2009-09-301-16/+42
| | | | generators. It was causing problems with parallel make -j invocations. Keep it for multi-configuration build systems so that Debug and Release stamp files remain separate.
* Convert CMake non-find modules to BSD LicenseBrad King2009-09-281-0/+12
| | | | | | | This adds copyright/license notification blocks CMake's non-find modules. Most of the modules had no notices at all. Some had notices referring to the BSD license already. This commit normalizes existing notices and adds missing notices.
* Better error message tells user possible ways to resolve the error.David Cole2009-09-181-1/+1
|
* Missed another CMAKE_CFG_INTDIR reference in the previously previous commit.David Cole2009-09-081-0/+1
|
* Missed a CMAKE_CFG_INTDIR reference in the previous commit.David Cole2009-09-081-1/+1
|
* Use more verbose/descriptive names for the "public API" functions in the ↵David Cole2009-09-081-57/+63
| | | | ExternalProject.cmake module. Follow the cmake function naming convention, using a ModuleFileName_ prefix. Locate stamp files under a CMAKE_CFG_INTDIR subdir of the stamp dir so that debug and release builds have separate stamp files for Visual Studio builds. If no CMAKE_GENERATOR argument is given to ExternalProject_Add, default to using the parent project's cmake generator.
* Add test step to ExternalProject builds. Rename SVN_TAG to SVN_REVISION ↵David Cole2009-09-031-7/+61
| | | | since it is a more accurate name.
* Add missing argument to _ep_write_downloadfile_script.David Cole2009-08-261-1/+1
|
* Remove DownloadFile.cmake and UntarFile.cmake from the Modules directory. ↵David Cole2009-08-191-3/+130
| | | | Put functionality directly into ExternalProject.cmake itself so that these modules do not end up in the upcoming release of CMake.
* ENH: Check tarball filename in ep_addBrad King2009-07-131-2/+5
| | | | | | This teaches the ExternalProject module to check the download URL file name. If it is not a tarball (.tar, .tgz, .tar.gz) it is an error because UntarFile does not yet understand other archive formats.
* BUG: Allow arbitrary text in values for some keywords. (And avoid warning ↵David Cole2009-07-021-16/+30
| | | | that the arbitrary text is an unknown keyword.)
* BUG: cmd_set logic was missing from update and patch steps. Fix it so that ↵David Cole2009-07-021-3/+8
| | | | UPDATE_COMMAND "" means "no update step even though this is a CVS/SVN repository..."
* ENH: New ExternalProject.cmake module interfaceBrad King2009-06-241-0/+704
This creates new module ExternalProject.cmake to replace the prototype AddExternalProject.cmake module. The interface is more refined, more flexible, and better documented than the prototype. This also converts the ExternalProject test to use the new module. The old module will be removed (it was never in a CMake release) after projects using it have been converted to the new module.