| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
The previous commit added --non-interactive as a "side effect"
of turning on SVN_TRUST_CERT. While reviewing that commit, we
decided all ExternalProject svn usage should be non-interactive.
That way, if there's any sort of problem, svn will return an
error right away rather than hang forever waiting for input...
|
|
|
|
|
|
|
|
|
|
|
|
| |
Which adds --non-interactive and --trust-server-cert to the svn
checkout and update command lines. This allows ExternalProject
clients to pull from an https:// based svn server even though
the server may not have a valid or trusted certificate.
Caveat emptor: I would NOT recommend using this except as a
short-term work-around. Rather, the server should have a valid,
trusted certificate, or the client should be using "http" instead
of "https".
|
|
|
|
| |
Notably, downloads from sourceforge.net and gitweb snapshots.
|
|
|
|
|
|
| |
When we added CMAKE_CACHE_ARGS, we did not try it with any
<SOURCE_DIR> or <INSTALL_DIR> references. This commit fixes
that accidental omission.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Unset VS_UNICODE_OUTPUT when executing a command whose output
is being logged to a file. Previously, running Microsoft tools
in sub-processes of Visual Studio would send their output to
the Visual Studio output pipe named by this environment variable.
Unsetting it forces the output back to the normal stdout and stderr
channels where cmake can intercept it and direct it to the
appropriate log files.
|
| |
| |
| |
| |
| | |
The code to build up a list was missing the final entry in an initial
cache.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Escaped the @var@ in the file writes - this was being expanded at file
write and so not causing a reconfigure at the right time. I also took
care of build up lists of lists in the variables, especially important
for things like MPI_EXTRA_LIBRARY. Added some error checking, and use
the tmp_dir for initial cache file.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On Windows the limit for command line arguments is 8192 characters, and
this was limiting longer paths with some of our more nested projects
such as Library. Placing the -D arguments into CMAKE_CACHE_ARGS will
write out an initial cache file, that will be passed to CMake with a -C
argument as the initial cache.
By forcing the cache variables we preserve the existing behavior with
-D, to change the values of cache variables in our inner projects.
|
|/
|
|
|
| |
This patch fixes the behavior of external projects with respect to
generators using the CMAKE_EXTRA_GENERATOR variable.
|
|\
| |
| |
| |
| | |
6e1282f ExternalProject: No svn --username if empty (#11173)
|
| |
| |
| |
| | |
Nor --password. But please do if non-empty. Thank you.
|
|/
|
|
|
|
| |
Fixed parallel build for projects using generators that have the
CMAKE_EXTRA_GENERATOR as well as CMAKE_GENERATOR. Thanks to Bill Hoffman
for helping me to track this one down, I missed parallel builds.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit introduces the ability to add custom targets
that correspond to individual ExternalProject steps.
The main motivation behind this new feature is to drive
sub-project based dashboard steps as external projects
with separate targets for update, configure, build and
test output. This makes it easy to construct a ctest -S
script to drive such a dashboard.
With no STEP_TARGETS defined, there are no additional
custom targets introduced, to minimize the chatter in
the target name space. Clients may define STEP_TARGETS
on a per-ExternalProject_Add basis, or at the directory
level by setting the EP_STEP_TARGETS directory property.
|
| |
|
|\
| |
| |
| |
| | |
ed43ea6 ExternalProject: Fix $(MAKE) with cygpath on Windows
|
| |
| |
| |
| |
| | |
In non-cygwin builds using Cygwin's make tool, use cygpath to transform
the value of $(MAKE) to something Windows understands.
|
|\ \
| |/
|/|
| |
| | |
9fa49dc ExternalProject: Remove 'unknown keyword' warning (#11034)
|
| |
| |
| |
| |
| |
| | |
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_Add calls that did not explicitly request a
CMAKE_GENERATOR would not get recursive parallel make behavior.
This commit fixes that issue.
|
|\
| |
| |
| |
| |
| | |
b2634b6 Detect CMake warnings and errors in build output.
012c986 ExternalProject: Add LOG_* options to hide step output
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| | |
Conflicts:
Modules/ExternalProject.cmake
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
Modules/ExternalProject.cmake
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |/
| |
| |
| |
| | |
Requires at least version 1.6.5 of a git client for
git submodule update --recursive use.
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \ |
|
| |/
| |
| |
| |
| |
| | |
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.)
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
| |
Thanks to JCFR for the leg work.
|
|
|
|
| |
Alex
|
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
| |
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.
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
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.
|
|
|
|
| |
since it is a more accurate name.
|
| |
|
|
|
|
| |
Put functionality directly into ExternalProject.cmake itself so that these modules do not end up in the upcoming release of CMake.
|
|
|
|
|
|
| |
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.
|