<div class="gmail_quote">On Thu, Jun 10, 2010 at 5:37 PM, Alan W. Irwin <span dir="ltr"><<a href="mailto:irwin@beluga.phys.uvic.ca">irwin@beluga.phys.uvic.ca</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div><div></div><div class="h5">On 2010-06-10 16:20-0400 David Cole wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
On Thu, Jun 10, 2010 at 4:17 PM, Alan W. Irwin <<a href="mailto:irwin@beluga.phys.uvic.ca" target="_blank">irwin@beluga.phys.uvic.ca</a>><br>
wrote:<br>
On 2010-04-09 12:17-0400 David Cole wrote:<br>
<br>
A "real" fix for this has been committed to the CVS<br>
repository for kwsys.<br>
The change should appear in the CMake git repository<br>
shortly on 'master'...<br>
<br>
Thanks to Clinton Stimpson for the patch.<br>
<br>
<br>
cvs commit -m "Patch to avoid short name usage where<br>
possible. Get the<br>
actual case spelling of a file name on 'Windows'<br>
without converting to short<br>
name and back again. Avoids bad behavior reported in<br>
<a href="http://bugs.winehq.org/show_bug.cgi?id=22286" target="_blank">http://bugs.winehq.org/show_bug.cgi?id=22286</a> when<br>
using cmake under a<br>
wine/msys/mingw installation on a Linux box. Thanks<br>
to Clinton Stimpson for<br>
preparing the patch."<br>
<br>
/cvsroot/KWSys/KWSys/SystemTools.cxx,v <-- <br>
SystemTools.cxx<br>
new revision: 1.257; previous revision: 1.256<br>
<br>
<br>
Hi David:<br>
<br>
Sorry for the long delay in responding to you. I am just now<br>
restarting<br>
testing of MinGW (4.5.0) and CMake-2.8.1 under Wine (1.1.42).<br>
<br>
I did find the patch at the "patch" link accessible from<br>
<a href="http://cmake.org/gitweb?p=cmake.git;a=commit;h=018c13ff73d9b7b151cb77f7adcb" target="_blank">http://cmake.org/gitweb?p=cmake.git;a=commit;h=018c13ff73d9b7b151cb77f7adcb</a><br>
bb7be27f49d3<br>
<br>
I notice the following result after applying the patch<br>
<br>
software@raven> find -print0 -type f |xargs -0 grep -l shortPath<br>
./Source/kwsys/SystemTools.cxx<br>
<br>
Further investigation indicates bool SystemTools::GetShortPath is<br>
defined<br>
that appears to be unused anywhere else in the source tree now that<br>
the<br>
patch has been applied. Therefore, shouldn't that method be removed?<br>
<br>
<br>
kwsys code is shared among many, many projects. It appears in way more than<br>
just CMake. So removing a function from any of its interfaces is really<br>
probably not a very good idea. :-)<br>
</blockquote>
<br></div></div>
I didn't realize external projects used parts of CMake source code, but<br>
your point is well taken in that case.<br>
<br>
That leads to the obvious next question of why aren't those externally used<br>
parts of CMake source code built as a library rather than (presumably)<br>
repeating the compilation for every external project that needs to use the<br>
source code for CMake? I guess it wouldn't matter much for just a few such<br>
external projects, but you say there are many.</blockquote><div><br>kwsys builds in less than a minute nearly everywhere, even on slow, older machines... It is built as a library, but built from source in each project that uses it. It's configured into a configurable namespace chosen by the containing project.<br>
<br>kwsys is a shared entity. CMake is just one client of it. We include it in the CMake source tree so that the CMake source tree builds without external dependencies. Same reason we include, for example, Utilities/cmcurl and libarchive, etc, etc.<br>
<br><br>David<br><br></div></div>