[cmake-developers] ninja failing CompileCommandOutput

Stephen Kelly steveire at gmail.com
Mon Jun 4 18:14:38 EDT 2012


Brad King wrote:

> On 06/04/2012 10:25 AM, Bill Hoffman wrote:
>> On 6/1/2012 1:55 PM, Brad King wrote:
>>> The generator is supposed to produce a file that lists all the
>>> compiler invocation command lines in a JSON format.  The test
>>> runs a build with the option and then runs a program that reads
>>> the generated file and re-plays the commands.  The test and its
>>> C++ program should not need modification because it works for the
>>> Makefile generator.  The Ninja generator will need to generate
>>> the properly encoded commands like the Makefile generator does.
>> 
>> Seems like the json file is reasonable:
>> 
>>    "command": "C:\\PROGRA~2\\MICROS~1.0\\VC\\bin\\cl.exe   /nologo
>> /DWIN32 /D_WINDOWS /W3 /Zm1000 /EHsc /GR /D_DEBUG /MDd /Zi /Ob0 /Od
>> /RTC1 -I\"c:\\Users\\hoffman\\Work\\My
>> Builds\\NinjaCMake\\Tests\\CompileCommandOutput\\..\\..\\Source\"
>> /TP
>> /FoCMakeFiles/CompileCommandOutput.dir/compile_command_output.cxx.obj
>> /FdTARGET_PDB -c \"c:\\Users\\hoffman\\Work\\My
>> 
Builds\\NinjaCMake\\Tests\\CompileCommandOutput\\compile_command_output.cxx\"",
>>    "file": "c:\\Users\\hoffman\\Work\\My
>> 
Builds\\NinjaCMake\\Tests\\CompileCommandOutput\\compile_command_output.cxx"
>> },
>> 
>> the test driver should be able to read a file with \\ in it,
>> and the generator output is fine.
> 
> The topic was first brought up here:
> 
>  http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/3678
> 
> Context of this discussion:
> 
>  http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/3774
> 
> Origin of parser in question:
> 
>  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0e6b05fc
> 
> Manuel, as author of this parser can you comment please?
> 

Given that:

* The clang tooling isn't really expected to work on Windows (clang chokes 
on Windows headers)
* The clang tooling actually ignores the compiler anyway (I think, though I 
can't point to a commit: 
http://thread.gmane.org/gmane.comp.compilers.clang.devel/20433/focus=20736)  
* CMake/Ninja isn't fully supported yet on Windows (I think?)
* The original test is only executed for Unix Makefiles

I've disabled the test on WIN32.


That doesn't mean that the test shouldn't be made to pass on Windows though 
of course (in theory these files are usable to more than just clang), but 
this should restore the dashboard to green, and be good enough to merge the 
topic I think.

Thanks,

Steve.






More information about the cmake-developers mailing list