MantisBT - CMake
View Issue Details
0010690CMakeCMakepublic2010-05-08 08:432016-06-10 14:31
rubenvb 
Bill Hoffman 
normaltrivialalways
closedmoved 
CMake-2-8 
 
0010690: "make" detection for mingw-w64/w32 toolchains
The mingw-w64/w32 project provides toolchains for win32 and win64. They do not, however, use the self-proclaimed standard "mingw32-make.exe", but instead use the standard name "gmake.exe" for their builds of GNU Make.

CMake should also look for "gmake" when "mingw32-make" isn't found. This ensures CMake works out of the box with the mingw-w64/w32 toolchains.

On second thought, CMake should be able to generate makefiles in absence of the make tool itself, it should instead check for the compilers themselves (gcc,g++,...).
No tags attached.
Issue History
2010-05-08 08:43rubenvbNew Issue
2010-05-08 10:27rubenvbNote Added: 0020663
2010-05-08 13:15Bill HoffmanNote Added: 0020666
2010-05-08 18:02rubenvbNote Added: 0020668
2010-05-09 06:23rubenvbNote Added: 0020684
2010-05-09 21:28Bill HoffmanNote Added: 0020689
2010-05-09 21:28Bill HoffmanStatusnew => assigned
2010-05-09 21:28Bill HoffmanAssigned To => Bill Hoffman
2010-05-10 06:46rubenvbNote Added: 0020691
2010-05-13 18:02rubenvbNote Added: 0020735
2010-05-15 05:07rubenvbNote Added: 0020749
2016-06-10 14:27Kitware RobotNote Added: 0041692
2016-06-10 14:27Kitware RobotStatusassigned => resolved
2016-06-10 14:27Kitware RobotResolutionopen => moved
2016-06-10 14:31Kitware RobotStatusresolved => closed

Notes
(0020663)
rubenvb   
2010-05-08 10:27   
Please close this, it is not correct. mingw-w64/w32's make should be named mingw32-make, not gmake, as we are producing win32 makefiles, not MSYS/UNIX ones. Apologies.
(0020666)
Bill Hoffman   
2010-05-08 13:15   
What will the 64 bit one be called? Will it be called mingw64-make?
(0020668)
rubenvb   
2010-05-08 18:02   
I kind of created a heated discussion on the forum/IRC. I'm voting for plain mingw32-make (for compatibility reasons of course), but I'll let you know via this bug report once I get a definite answer.
(0020684)
rubenvb   
2010-05-09 06:23   
Well, it seems a "make" utility isn't officially part of the project. There are several names in use all over the place:
equation.com: make.exe
mingw-w64: make.exe mingw32-make.exe gmake.exe

Would it be too much to ask for a check against these three instead of just mingw32-make? They are in principle exactly the same programs...
(0020689)
Bill Hoffman   
2010-05-09 21:28   
The trouble is if we find make.exe from cygwin it will certainly fail. The reason I look for mingw32-make is because I know it is the right one. I guess the find make is going to have to do a bit more work to make sure it gets the right one. Both gmake.exe and make.exe might not be the mingw versions... I would like to see what the standard installs actually are.
(0020691)
rubenvb   
2010-05-10 06:46   
I understand the problem, and agree that the cmd.exe make should be named mingw32-make, but mingw-w64 people tend to disagree for now and hey, who am I.

Drangon's distribution (I believe it's the same guy who brought us TDM's gcc, not sure though), uses mingw32-make. link: http://code.google.com/p/mingw-w64-dgn/ [^]

The standard mingw-w64 install does not include any make utility, that's (I think) the problem. You're not the only one relying on mingw32-make being present, Qt's configure.exe does it as well.
(0020735)
rubenvb   
2010-05-13 18:02   
A little ray of hope perhaps: when "make -v" is run, there should always be a line "Built for ***" where *** is:
i686-pc-msys --> MSYS make
i686-pw-mingw32 --> mingw32-make for mingw.org
i686-w64-mingw32 --> mingw32-make, but for mingw-w32/w64
x86_64-w64-mingw32 --> mingw32-make, but for mingw-w64/w32

Perhaps this is a shortcut to determine the abilities of the found make executable.
(0020749)
rubenvb   
2010-05-15 05:07   
PS: the personal builds by sezero (those I recommend to use to everyone) now provide GNU make as "gmake" and "mingw32-make". As far as I'm concerned, this can be closed.
(0041692)
Kitware Robot   
2016-06-10 14:27   
Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.