<div>No, it wouldn&#39;t; check it out:<br></div>
<br>
% touch a<br>
% rm -f b<br>
% ls b<br>
ls: cannot access b: No such file or directory<br>
% cmake -E copy_if_different a b<br>
% ls b<br>
b<br>
% cksum a b<br>
4294967295 0 a<br><div>
4294967295 0 b<br></div><div><br></div><div>It works with one file, but I have 4 files that are generated.</div><div>I have 4 cmake -E copy_if_different commands, one for each file.</div><div>Only the last file is not copied (if similar). The others are copied </div>
<div>even if they are the same.</div><div><br></div><div>I verfied that they are the same with a diff.</div><div><br></div><div>Any idea what might be happening here ?</div><div><br></div><div>Thank You</div><div>Ajay</div>
<br><div class="gmail_quote">On Sat, Mar 3, 2012 at 2:47 PM, Michael Hertling <span dir="ltr">&lt;<a href="mailto:mhertling@online.de" target="_blank">mhertling@online.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On 03/03/2012 10:36 PM, Ajay Panyala wrote:<br>
&gt; Try &quot;cmake -E copy_if_different ...&quot;<br>
&gt;<br>
&gt; cmake -E copy_if_different build/test1.c build/tests/test1.c<br>
&gt;<br>
&gt; That would work when make is run atleast once.<br>
&gt; When running make for the 1st time test1.c was never<br>
&gt; copied to build/tests before. So I would be comparing a file with<br>
&gt; another non-existant file and that would result in an error halting<br>
&gt; the make process.<br>
<br>
</div>No, it wouldn&#39;t; check it out:<br>
<br>
% touch a<br>
% rm -f b<br>
% ls b<br>
ls: cannot access b: No such file or directory<br>
% cmake -E copy_if_different a b<br>
% ls b<br>
b<br>
% cksum a b<br>
4294967295 0 a<br>
4294967295 0 b<br>
<br>
Regards,<br>
<font color="#888888"><br>
Michael<br>
</font><div><div><br>
&gt; On Sat, Mar 3, 2012 at 1:20 PM, Hendrik Sattler &lt;<a href="mailto:post@hendrik-sattler.de" target="_blank">post@hendrik-sattler.de</a>&gt;wrote:<br>
&gt;<br>
&gt;&gt; Am Samstag, 3. März 2012, 21:41:49 schrieb Ajay Panyala:<br>
&gt;&gt;&gt; I have a custom target which runs a command to generate<br>
&gt;&gt;&gt; a C source file say test1.c<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; ADD_CUSTOM_TARGET(TestGen ALL<br>
&gt;&gt;&gt; COMMAND genExec ${PROJECT_SOURCE_DIR}/Main.java<br>
&gt;&gt;&gt; DEPENDS ${PROJECT_SOURCE_DIR}/Main.java<br>
&gt;&gt;&gt; )<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; And I have a custom command that moves the generated *test1.c *<br>
&gt;&gt;&gt; to a new directory inside the build directory.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; ADD_CUSTOM_COMMAND(<br>
&gt;&gt;&gt; TARGET TestGen<br>
&gt;&gt;&gt; POST_BUILD<br>
&gt;&gt;&gt; COMMAND mv<br>
&gt;&gt;&gt; ARGS ${PROJECT_BINARY_DIR}/test1.c ${PROJECT_BINARY_DIR}/tests/<br>
&gt;&gt;&gt; )<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Each time I run make, the custom target is run (since custom targets are<br>
&gt;&gt;&gt; always<br>
&gt;&gt;&gt; out-of-date). But I want to avoid moving the new test1.c generated each<br>
&gt;&gt;&gt; time if build/test1.c is the same as build/tests/test1.c since there are<br>
&gt;&gt;&gt; other targets<br>
&gt;&gt;&gt; like add_executable and add_library later in the CMakelists file that are<br>
&gt;&gt;&gt;  re-built<br>
&gt;&gt;&gt; each time since they depend on test1.c<br>
&gt;&gt;<br>
&gt;&gt; Try &quot;cmake -E copy_if_different ...&quot;<br>
&gt;&gt;<br>
&gt;&gt; HS<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><br clear="all"><br><br>