[CMake] CXX incorrectly includes CMakeFortranInformation.cmake for MinGW/MSYS/Wine
Alan W. Irwin
irwin at beluga.phys.uvic.ca
Tue Apr 6 02:38:54 EDT 2010
On 2010-04-05 19:21-0600 Clinton Stimpson wrote:
> I've submitted a bug report to the wine bugzilla with a very simple test case
> (bug #22286). So the bug can be taken care of or discussed over there.
>
> If anyone needs a workaround until its fixed, just modify
> kwsys/SystemTools.cxx's PortableGetLongPathName() to use
> OldWindowsGetLongPath() instead of GetLongPathNameA() from kernel32.dll.
I managed to bootstrap my way out of this mess for MinGW/MSYS/Wine using
that workaround.
Here is how.
I implemented your workaround recommendation using the following trivial
patch to the CMake source code:
--- SystemTools.cxx_original 2010-04-05 22:03:48.000000000 -0700
+++ SystemTools.cxx 2010-04-05 22:05:38.000000000 -0700
@@ -3114,6 +3114,7 @@
kwsys_stl::string & longPath)
{
HMODULE lh = LoadLibrary("Kernel32.dll");
+ lh = NULL;
if(lh)
{
FARPROC proc = GetProcAddress(lh, "GetLongPathNameA");
I disabled Fortran in the downloaded Windows binary version of CMake by
moving
cmake-2.8.1-win32-x86/share/cmake-2.8/Modules/CMakeFortranInformation.cmake
I built and installed CMake from source (with the above patch) using the
downloaded Windows binary cmake app. There were no obvious issues at
all (which is a strong CXX test of CMake under MinGW/MSYS/Wine.)
That built version of CMake-2.8.1 does not have to have Fortran disabled,
and therefore PLplot builds and tests using C, C++, Fortran 77, and Fortran
95 with no obvious CMake run-time issues (other than the diverted log file
output I have mentioned on the "noisy CMake" thread) or PLplot build or test
issues. That is a strong C, CXX, and Fortran test of CMake under
MinGW/MSYS/Wine. I will be adding Python, Java, and Tcl to
my MinGW/MSYS/Wine tests of PLplot as time permits.
I have now had a bit of practical experience with the MinGW/MSYS/Wine/CMake
development environment in building both CMake and PLplot (and qhull). With
the above bootstrapped workaround for wine bug 22286, it appears to be fine.
I am still of the opinion that it is going to be a revolutionary combination
since it makes the extremely popular MinGW/MSYS development packages
conveniently available to _all_ developers now for free and with software
freedom regardless of the platform used by those developers.
Thanks, Clint, for all your practical help getting this development
environment working.
Alan
__________________________
Alan W. Irwin
Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).
Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________
Linux-powered Science
__________________________
More information about the CMake
mailing list