[cmake-developers] Ninja generator on Windows

Bill Hoffman bill.hoffman at kitware.com
Mon Jan 30 22:55:56 EST 2012


On 1/30/2012 6:15 PM, Peter Kümmel wrote:
> I played a bit with the Ninja generator on Windows,
> and added some hacks to make it a bit running:
>
> https://github.com/syntheticpp/CMake/commit/0a55b61271106eb7c3319340f2c54f6bab3c0f8b
>
>
> Here are the problems I found so far:
>
> - Paths like 'c:\' - Ninja now supports colon escaping "c:" -> "c$:"
> Is there a single place where the escaping could be done?

Can we use Posix paths in the windows ninja generator instead of windows 
paths?   I am guessing ninja would be happier with them.  So, c:/, as 
for the :, there should be a way to escape that depends on the 
generator.  I know the makefile ones have a place.

>
> - Backslashes: could they also be replaced at a single place?
>
Would you not need to do that if you did / instead of \.
> - Finding the msvc compiler fails because TARGET_IMPLIB is empty
> and to the linker /implib: is passed without an argument.
> Why is TARGET_IMPLIB empty?

Sounds like it is missing from the platform file, or the right platform 
file is not getting loaded.
>
> - Some targets have the .exe extension, but the rule misses the .exe.
>
Sounds like a bug in the ninja generator.

> - When && is used for calling multiple command a 'cmd.exe /c' call is
> necessary.
>
> - How it is possible to choose a compiler (msvc, mingw)?

I think it would work like the make generators.  You set CC and CXX 
before running CMake, or specify them in cmake-gui.

Glad you are working on this.

Thanks!

-Bill



More information about the cmake-developers mailing list