OK, yeah, I know about disabling updates.  I don't remember who or when I
got the advice NOT to disable updates.

And all of the projects in our Super-Duper-build do get set to specific
SVN/GIT/CVS tags.  This is the only way
to get predictable behavior.

And my reasoning was 'if you always request a specific tag, you never need
to have an update command.' But then I was told to leave that be.

The only rationale for always updating is that if you change the tag to
download, it will re-download the source, and rebuild with the new source.
If you disable update then you'll have to delete the files down in
<PRJ>-prefix/src/<PRJ>-stamp to retrigger a download.

Or do what I generally do and delete the source, build, AND prefix
directories.

All of this starts out as 'expert-level CMAKE hacking' and gets
progressively more abstruse as I go along. I keep trying to think of how
to simplify it for people who want to build and use applications using the
SuperBuild. Not sure who they are, or if I really should try and bend over
backwards to make things easy for them.

--
Kent Williams norman-k-willi...@uiowa.edu






On 9/16/13 10:03 AM, "David Cole" <dlrd...@aol.com> wrote:

>If you don't want the update step to pull changes from the repository,
>then use:
>
>    UPDATE_COMMAND ""
>
>Otherwise, if you are building from a live repo, then the update step
>witl ALWAYS run in case something has changed upstream. Then, all the
>subsequent steps after update must also run just in case update pulled
>down some new changes.
>
>That's the best ExternalProject can do in its present form. (Don't know
>who you talked to that told you "things are better now," but maybe what
>he meant was "there are other ways to do it that avoid that particular
>problem...")
>
>
>I can imagine that you might add a "there were 0 things pulled down
>during update, please don't re-run subsequent steps", ... but still, if
>any single file was added/modified/deleted, then we have no choice but
>to run incremental configure/build/install steps after that.
>
>It's nice to have grand unified super builds, but dependency analysis
>for ExternalProject is at the project level. For that reason, super
>builds are really best suited to building static tarball snapshots, or
>"snapped to a tag or date" repo snapshots that do not require an update
>step.
>
>I can't imagine you would possible want all 35 or so of your
>sub-projects to be snapped to the live repos. Otherwise, you are
>depending on all of them remaining stable in order for your developers
>to get a good build of the whole system. Snapping to a known commit for
>most of them would seem to me to be appropriate here.
>
>
>Hope this helps,
>David
>



________________________________
Notice: This UI Health Care e-mail (including attachments) is covered by the 
Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and 
may be legally privileged.  If you are not the intended recipient, you are 
hereby notified that any retention, dissemination, distribution, or copying of 
this communication is strictly prohibited.  Please reply to the sender that you 
have received the message in error, then delete it.  Thank you.
________________________________
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to