AddExternalProject is related. It can be used to download files as custom build steps. (And then configure, build, install... other projects.)<br><br><div>It is only in CVS CMake right now, but it is on its way to maturing to the point where it could be used for a project like this fairly quickly.</div>
<div><br></div><div><br><div class="gmail_quote">On Tue, Feb 17, 2009 at 1:24 PM, Luigi Calori <span dir="ltr"><<a href="mailto:l.calori@cineca.it">l.calori@cineca.it</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Bill Hoffman ha scritto:<div class="Ih2E3d"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Philip Lowman wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
For the first cut I think starting out with keeping the CMakified sources in the project would be fine. Many people are never going to want anything more complicated than this and we know that this will at least work for now.<br>
<br>
CMake can already untar with -E mode. Adding download support wouldn't be too bad. Not sure how you would handle patching though. A nicer solution than above would be storing the original tarball + patch in the CM of your project and then having CMake untar + apply it at configure time. Then you could optionally add download support on top of that for anyone that wants the ability of their project to properly to build to depend on some server out there in the cloud (not me).<br>
<br>
</blockquote></blockquote></div>
I agree depending on external server at build time sounds unreliable,<br>
but this sis exactly what any distribution tools like portage, apt, rpm do.<br>
I really do not like to have copies of modified sources around: I would<br>
just have a common way of specifying build recipes, including download,<br>
versioning and patches.<div class="Ih2E3d"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
In CVS CMake the file command can download files already (file DOWNLOAD). We are working on some projects that will need to do things like this at Kitware. There is also a bug here:<br>
<br>
<a href="http://public.kitware.com/Bug/view.php?id=8471" target="_blank">http://public.kitware.com/Bug/view.php?id=8471</a><br>
<br>
It somewhat relates to this issue.<br>
</blockquote></div>
Interesting....I 've also seen in CVS some support for including<br>
external projects (module AddExternalProject.cmake) is it something related?<br>
The windows port of gentoo portage ebuild command used in kde windows is<br>
something has similar characteristic, it is based on Python though and<br>
uses CMake for just few<br>
of the builds.<br>
Also Google is moving in build system fields, see:<br>
<a href="http://code.google.com/p/swtoolkit/" target="_blank">http://code.google.com/p/swtoolkit/</a><br>
unfortunately it seems to support just scons....<br>
<br>
Let me know .... i would be glad to contribute<br><font color="#888888">
<br>
Luigi</font><div><div></div><div class="Wj3C7c"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
<br>
</blockquote>
<br>
<br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</a><br>
</div></div></blockquote></div><br></div>