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:

{
"directory": "C:/Users/hoffman/Work/My Builds/CMake-ninja-build/Tests/CompileCommandOutput", "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"
},

Might be a parsing issue. This test also fails with the nmake generator which produces a very similar json file:
  "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 -IC:\\Users\\hoffman\\Work\\MYBUIL~1\\cmake\\Tests\\COMPIL~1\\..\\..\\Source /TP /FoCMakeFiles\\CompileCommandOutput.dir\\compile_command_output.cxx.obj /Fd\"C:\\Users\\hoffman\\Work\\My Builds\\cmake-nmake\\Tests\\CompileCommandOutput\\CompileCommandOutput.pdb\" -c \"C:\\Users\\hoffman\\Work\\My Builds\\cmake\\Tests\\CompileCommandOutput\\compile_command_output.cxx\"
<<",
"file": "C:/Users/hoffman/Work/My Builds/cmake/Tests/CompileCommandOutput/compile_command_output.cxx"


That does not show up on the dashboard because of this:

IF("${CMAKE_TEST_GENERATOR}" MATCHES "Makefiles" OR "${CMAKE_TEST_GENERATOR}" MATCHES Ninja)
    SET(TEST_CompileCommandOutput 1)
  ENDIF()

See, like the test driver should be able to read a file with \\ in it, and the generator output is fine.

-Bill




--
Bill Hoffman
Kitware, Inc.
28 Corporate Drive
Clifton Park, NY 12065
bill.hoff...@kitware.com
http://www.kitware.com
518 881-4905 (Direct)
518 371-3971 x105
Fax (518) 371-4573
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to