[cmake-developers] -GNinja on Windows

Peter Kümmel syntheticpp at gmx.net
Tue Jun 12 15:15:25 EDT 2012


On 12.06.2012 21:10, Peter Kümmel wrote:
> On 12.06.2012 20:54, Bill Hoffman wrote:
>> On 6/12/2012 2:30 PM, Peter Kümmel wrote:
>>>
>>> OK, but we need to handle strings like this:
>>>
>>> "... \outlib.dir\outlib.c.obj".d
>>>
>>> Peter
>>
>> OK, so where does the .d get added?  That seems like the problem.  It
>> should not be adding a .d to the end of a quoted string.
>>
>
> Defined in rules.ninja:
>
> #############################################
> # Rule for compiling CXX files.
>
> rule CXX_COMPILER
>     depfile = $out.d
>
>
> And $out is given by build.ninja:
>
> # =============================================================================
> # Object build statements for EXECUTABLE target cmIML_test
>
> build Utilities\KWIML\test\CMakeFiles\cmIML_test.dir\test.c.obj: C_COMPILER
>
>
> -->  depfile = $out.d = "c:\my build\Utilities\KWIML\test\CMakeFiles\cmIML_test.dir\test.c.obj".d
>

First its evaluates the variable "out"
https://github.com/syntheticpp/ninja/blob/master/src/eval_env.cc#L36
    -> "c:\my build\Utilities\KWIML\test\CMakeFiles\cmIML_test.dir\test.c.obj"

then it appends a RAW string
https://github.com/syntheticpp/ninja/blob/master/src/eval_env.cc#L34
    -> "c:\my build\Utilities\KWIML\test\CMakeFiles\cmIML_test.dir\test.c.obj".d

> Peter
> --



More information about the cmake-developers mailing list