[CMake] Why do jom/nmake generators require cl to build with mingw?

Bill Hoffman bill.hoffman at kitware.com
Thu Sep 15 11:30:34 EDT 2011


On 9/15/2011 10:35 AM, John R. Cary wrote:

>
> I seem to be able to use them in a cygwin shell, but only
> if I have cl and all the defines in my path, even if I never
> use cl in the compilation (because I def'd the compilers
> to be mingw...)
>
> Also, jom, cl, mingw, nmake all have the same (Windows) path
> concepts, instead of the cygwin paths. So I think they should
> work together, and I observe that they do.
>
> So not sure how to answer your question....
>
This is a new use case. I had never thought of using jom or nmake for 
anything other than cl.  As gmake is usually better.  Once the -j stuff 
fix for mingw gets into gmake, then there would be no reason to use jom 
I would think.

There seem to be two problems:

1. The warning about INCLUDE, LIB, etc.  This was done because so many 
people try to use cl without setting up the environment for it.  This 
should be reworked to only warn if cl is being used.

2. There is an error with the rc compiler. This is what is failing:

enable_language(RC)

This seems to only look for windres when the MinGW or Msys generators 
are used.

If you want to create two bugs for this that would be good.  Not sure 
when we will get to fixing it...  But, if you wanted to try I could help 
you.

Bugs would be:
- only warn about missing INCLUDE,LIB env when using the MS compiler.
- Look for windres when using gcc with nmake and jom if using gcc.

-Bill




More information about the CMake mailing list