On Tue, Oct 23, 2012 at 1:07 PM, Eric Noulard <span dir="ltr">&lt;<a href="mailto:eric.noulard@gmail.com" target="_blank">eric.noulard@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2012/10/23 David Cole &lt;<a href="mailto:david.cole@kitware.com">david.cole@kitware.com</a>&gt;:<br>
<div><div class="h5">&gt; On Tue, Oct 23, 2012 at 2:53 AM, Petr Kmoch &lt;<a href="mailto:petr.kmoch@gmail.com">petr.kmoch@gmail.com</a>&gt; wrote:<br>
&gt;&gt; On Mon, Oct 22, 2012 at 4:58 PM, David Cole &lt;<a href="mailto:david.cole@kitware.com">david.cole@kitware.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Mon, Oct 22, 2012 at 3:22 AM, Petr Kmoch &lt;<a href="mailto:petr.kmoch@gmail.com">petr.kmoch@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt; &gt; Hi Andreas,<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; thanks for your tip. Unfortunately, &#39;make -k install&#39; doesn&#39;t help, as<br>
&gt;&gt;&gt; &gt; the<br>
&gt;&gt;&gt; &gt; entire install step is a single command (cmake -P ...), so once this<br>
&gt;&gt;&gt; &gt; fails,<br>
&gt;&gt;&gt; &gt; there is no other command make could continue with. Is there no way to<br>
&gt;&gt;&gt; &gt; do<br>
&gt;&gt;&gt; &gt; this natively in cmake?<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; I could (in theory) add OPTIONAL to all install() commands, but that has<br>
&gt;&gt;&gt; &gt; the<br>
&gt;&gt;&gt; &gt; problem of being absolutely silent when a file is not found, and I&#39;d<br>
&gt;&gt;&gt; &gt; need at<br>
&gt;&gt;&gt; &gt; least a message or warning. Is cmake really all-or-nothing in this<br>
&gt;&gt;&gt; &gt; aspect,<br>
&gt;&gt;&gt; &gt; or does anyone know a feature I&#39;m overlooking?<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Thanks for any help.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Petr<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; On Sat, Oct 20, 2012 at 12:46 PM, Andreas Pakulat &lt;<a href="mailto:apaku@gmx.de">apaku@gmx.de</a>&gt; wrote:<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; Hi,<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; On Sat, Oct 20, 2012 at 11:39 AM, Petr Kmoch &lt;<a href="mailto:petr.kmoch@gmail.com">petr.kmoch@gmail.com</a>&gt;<br>
&gt;&gt;&gt; &gt;&gt; wrote:<br>
&gt;&gt;&gt; &gt;&gt; &gt; when running the install step of a CMake-generated buildsystem (i.e.<br>
&gt;&gt;&gt; &gt;&gt; &gt; &#39;make<br>
&gt;&gt;&gt; &gt;&gt; &gt; install&#39; or building the VS project INSTALL), the run terminates<br>
&gt;&gt;&gt; &gt;&gt; &gt; after<br>
&gt;&gt;&gt; &gt;&gt; &gt; the<br>
&gt;&gt;&gt; &gt;&gt; &gt; first failure (e.g. when it cannot find a file which is to be<br>
&gt;&gt;&gt; &gt;&gt; &gt; installed). Is<br>
&gt;&gt;&gt; &gt;&gt; &gt; there a way to globally change this behaviour so that the error is<br>
&gt;&gt;&gt; &gt;&gt; &gt; reported<br>
&gt;&gt;&gt; &gt;&gt; &gt; (perhaps as a warning), but the install step goes on?<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; For Makefile Generator you can run make -k install, that way make<br>
&gt;&gt;&gt; &gt;&gt; keeps on going even when errors occur. No idea about VS, NMake, Ninja<br>
&gt;&gt;&gt; &gt;&gt; or XCode generators probably depends on wether the respective tool has<br>
&gt;&gt;&gt; &gt;&gt; a switch for continuing if errors occur.<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; Andreas<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; --<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Visit other Kitware open-source projects at<br>
&gt;&gt;&gt; &gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Please keep messages on-topic and check the CMake FAQ at:<br>
&gt;&gt;&gt; &gt; <a href="http://www.cmake.org/Wiki/CMake_FAQ" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt;&gt; &gt; <a href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; CMake is all-or-nothing with respect to an install tree. If the cmake<br>
&gt;&gt;&gt; install script hits a &quot;FATAL_ERROR&quot; message then it stops and will not<br>
&gt;&gt;&gt; continue beyond that point...<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The best way to &quot;Continue install after a failure&quot; is to eliminate the<br>
&gt;&gt;&gt; failure, and try again.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Would you accept a patch giving control over this behaviour? Something like<br>
&gt;&gt; a boolean variable CMAKE_INSTALL_STOP_ON_ERROR (the default being TRUE, of<br>
&gt;&gt; course).<br>
&gt;&gt;<br>
&gt;&gt; Petr<br>
&gt;<br>
&gt; Why is patching CMake easier than fixing your project? And how long<br>
&gt; are you going to let your own project&#39;s install tree be broken before<br>
&gt; you do fix it?<br>
&gt;<br>
&gt; I don&#39;t like the idea of a half-installed (or any fraction less than<br>
&gt; 1.0) bit of software...<br>
<br>
</div></div>Me neither.<br>
<div class="im"><br>
&gt;<br>
&gt; Perhaps others will chime in and we can get a sense of how folks weigh<br>
&gt; in on this issue.<br>
<br>
</div>My personal opinion is that may be the only feature I&#39;d like would be a<br>
&quot;real fake install&quot; i.e. 0% installed not a possibly random X percent<br>
installed with random leftover.<br>
<br>
it could be callable like:<br>
make fake-install or check-install or ... set(CMAKE_FAKE_INSTALL 1) or ...<br>
<br>
which would check whether all need-to be installed bits are accessibles.<br>
This would basically put the file(INSTALL ...) sub-command in a mode<br>
that would only check access and print-out some informations message<br>
without moving, copying or renaming any files or directory.<br>
<br>
e.g:<br>
<br>
-- Would be Up-to-date: .../share/aclocal/cmake.m4<br>
-- Would be Installing: ..../doc/cmake-2.8/cpack.html<br>
<br>
instead of<br>
-- Up-to-date: .../share/aclocal/cmake.m4<br>
-- Installing: .../doc/cmake-2.8/cpack.html<br>
<br>
That said I did live without that feature until now so I bet I can<br>
live without it forever :-]<br>
<span class="HOEnZb"><font color="#888888"></font></span><br></blockquote></div><br>We&#39;re using the install step of CMake to prepare the &quot;installation 
source&quot; in a location where it&#39;s then picked up by a 3rd party 
install-shield generator. And we&#39;re currently doing major re-structuring
 of the entire installation (involving several big cooperating 
products), which must work on several sites with different 3rd party 
installation paths etc. Only being able to fix one error per install run
 is extremely frustrating.<br><br>Eric&#39;s suggestion of a &quot;fake install&quot; would solve our case, of course.<br><br>I understand it&#39;s far from a typical 
use case, but AFAIK, all software development tools are moving away from
 &quot;bail out on first error&quot; to trying to report as many as possible (and 
still failing at the end, if applicable).<br><br>Petr<br>