[CMake] CXX incorrectly includes CMakeFortranInformation.cmake for MinGW/MSYS/Wine

Bill Hoffman bill.hoffman at kitware.com
Thu Jun 10 22:24:24 EDT 2010


On 6/10/2010 6:27 PM, Alan W. Irwin wrote:
> On 2010-06-10 16:20-0400 David Cole wrote:
>
>> software at raven> find -print0 -type f |xargs -0 grep -l shortPath
>> ./Source/kwsys/SystemTools.cxx
>
> Wrong search. Sorry about that noise!
>
> If instead you search for GetShortPath there are lots of places in the
> CMake
> source tree that still refers to that method.
>
> software at raven> find -print0 -type f |xargs -0 grep -l GetShortPath
> ./ChangeLog.txt
> ./Source/cmCTest.h
> ./Source/cmLocalVisualStudio6Generator.cxx
> ./Source/cmGlobalVisualStudio6Generator.cxx
> ./Source/cmSystemTools.cxx
> ./Source/cmGlobalVisualStudio7Generator.cxx
> ./Source/kwsys/SystemTools.cxx
> ./Source/kwsys/SystemTools.hxx.in
> ./Source/cmGlobalGenerator.cxx
> ./Source/cmCTest.cxx
> ./Source/cmGlobalVisualStudio10Generator.cxx
> ./Source/cmLocalGenerator.cxx
> ./Source/CTest/cmCTestMemCheckHandler.cxx
> ./Source/CTest/cmCTestTestHandler.cxx
> ./Source/CTest/cmCTestCoverageHandler.cxx
> ./Source/cmLocalUnixMakefileGenerator3.cxx
>
> GetShortPath calls GetShortPathName. From
> http://bugs.winehq.org/show_bug.cgi?id=22286 it appears the point of
> Clint's
> patch was to eliminate a specific and well-known hash collision on Wine
> caused by GetShortPathName, but from all the on-going uses of GetShortPath
> within CMake shown above, I am concerned there might be other wine name
> collisions lurking about with cmake causing other issues (e.g., the wine
> issue
> I mentioned before where part of the CMake log messages were not being
> sent to
> the log file). To address those potential issues, is
> there a simple way to reduce or eliminate the use of GetShortPath from the
> CMake code or else replace the call to GetShortPathName within GetShortPath
> by something else?
No, I don't think there is an easy way to get rid of these calls, and 
wine is so busted because of this, and they are being lazy not fixing it 
correctly IMO....   It will not be easy to replace.

I suppose one thing you could try is do have an ifdef wine, and when you 
call GetShortPath make it a no-opp.  Paths with spaces will likely fail, 
but it would be a good way to see if this is causing other problems.

-Bill


More information about the CMake mailing list