[cmake-developers] Ninja passes all tests on OS X
Bill Hoffman
bill.hoffman at kitware.com
Tue Jul 17 17:39:44 EDT 2012
On 7/17/2012 1:43 PM, Peter Kümmel wrote:
> On 17.07.2012 19:32, Bill Hoffman wrote:
>> On 7/17/2012 1:21 PM, Peter Kümmel wrote:
>>>
>>> OK, maybe it is simpler to add a the functions to
>>> cmNinjaTargetGenerator which
>>>
>>> forwards the call to the Local/Global classes.
>> Lets just add the friend stuff for now so we can get the dashboard
>> building again.
>
> You could not add "friend class
> cmNinjaTargetGenerator::MacOSXContentGeneratorType"
> because cmNinjaTargetGenerator is forward declared, and including
> cmNinjaTargetGenerator.h
> doesn't help because it includes cmLocalNinjaGenerator.h again.
>
> Maybe making MacOSXContentGeneratorType global helps.
>'
There is also a warning here:
C:/Users/hoffman/Work/My
Builds/cmake/Source/cmNinjaTargetGenerator.cxx(60) : warning C4355:
'this' : used in base member initializer list
Making the helper class global should fix the problem. What about a
letter envelope type of thing. Move the whole
MacOSXContentGeneratorType into the .cxx file. Then forward declare the
pointer to it in the cmNinjaTargetGenerator class.
class cmMacOSXContentGeneratorType;
class cmNinjaTargetGenerator
{
...
cmMacOSXContentGeneratorType* MacOSXContentGenerator;
Then create it with new in the constructor. This would get rid of the
above warning as well. I would like to clean this up before the nightly
dashboards get going so we don't have a bunch of red tomorrow.
Thanks.
More information about the cmake-developers
mailing list