MantisBT - CMake
View Issue Details
0015319CMakeCMakepublic2014-12-18 15:572015-05-04 09:05
Craig Hicks 
Brad King 
normaltextalways
closedfixed 
All Windows 7Windows 7
CMake 2.8.10.2 
CMake 3.2CMake 3.2 
0015319: Documentation clarification
The manual entry -G "MinGW Makefiles" on
http://www.cmake.org/cmake/help/v2.8.12/cmake.html#gen%3aMinGWMakefiles [^]
is ambiguous:

MinGW Makefiles: Generates a make file for use with mingw32-make.
The makefiles generated use cmd.exe as the shell. They do not require msys or a unix shell.

Should be changed to :

MinGW Makefiles: Generates a make file for use with mingw32-make.
The makefiles generated use cmd.exe as the shell. They are not compatible msys or a unix shell. "cmake" should not be invoked from msys or unix shells when "MinGW Makefiles" is specified as the generator.
Invoking (cmake -G "MinGW Makefiles" ...) from msys shell always fails in many ways.
Obvious only once you know it. The wording "does not require msys or a unix shell" could be interpreted as implying that ", however they can be used".

As background, mingw32-make did not come with the minwg 64 bit gcc 4.8.2 downloaded from sourceforge. It seemed correct that cmake would require "MinGW Makefiles" for the mingw compiler.

However, cmake could not find a make program, but since I had make sitting around under msys, I just specified that.

If the manual had been more explicit, it would have saved your novice user a lot of time. Trolling the web for advice, it seems there are many folks who have encountered the same problem.

No tags attached.
Issue History
2014-12-18 15:57Craig HicksNew Issue
2014-12-18 16:01Craig HicksNote Added: 0037491
2014-12-18 18:11Craig HicksNote Added: 0037492
2014-12-18 20:35Craig HicksNote Deleted: 0037491
2014-12-19 09:01Brad KingNote Added: 0037500
2014-12-19 09:01Brad KingAssigned To => Brad King
2014-12-19 09:01Brad KingSeverityminor => text
2014-12-19 09:01Brad KingStatusnew => resolved
2014-12-19 09:01Brad KingResolutionopen => fixed
2014-12-19 09:01Brad KingFixed in Version => CMake 3.2
2014-12-19 09:01Brad KingTarget Version => CMake 3.2
2014-12-19 14:30Craig HicksNote Added: 0037502
2015-05-04 09:05Robert MaynardNote Added: 0038703
2015-05-04 09:05Robert MaynardStatusresolved => closed

Notes
(0037492)
Craig Hicks   
2014-12-18 18:11   
Revised suggestion for documentation:

MinGW Makefiles: Generates a make file for use with mingw32-make.

Requirements: cmd.exe be used as the shell to invoke cmake, and cmd.exe be used as the shell to invoke the resulting cmake generated makefile.

Side effects: The generated makefiles use cmd.exe as the shell.

Note1: When using msys shell, use the "MSYS Makefiles" generator specification, not "MinGW Makefiles", even when using a MinGW compiler.

Note2: According to C:\GNU\Msys\var\lib\mingw-get\data\mingw32-make.xml: "The MinGW/MSYS project provides two versions of make: the msys-make version acts generally more as make is intended to operate, and gives fewer headaches during execution. However, msys-make requires the MSYS dll.... mingw32-make does not require the MSYS dll, but because of the lack of POSIX support in "pure" Win32 has a number of known shortcomings in comparison."


[I would update the manual myself if could do so]
(0037500)
Brad King   
2014-12-19 09:01   
Thanks. I've revised the documentation with this change:

 Help: Clarify MinGW v. MSYS Makefiles generators
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=267f613f [^]
(0037502)
Craig Hicks   
2014-12-19 14:30   
Thank you!
(0038703)
Robert Maynard   
2015-05-04 09:05   
Closing resolved issues that have not been updated in more than 4 months.