On 18.07.2012 11:58, Nicolas Desprès wrote:
On Tue, Jul 17, 2012 at 11:39 PM, Bill Hoffman<bill.hoff...@kitware.com>  wrote:
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.


Bill,

You can find two patches in the following branch which should fix
these compilation issues. I have tested them with clang and gcc on Mac
OS X.

https://github.com/polrop/CMake/commits/ninja/fix_build
https://github.com/polrop/CMake/commit/5497caf3e0e14430a222e92f190d8d9ea4ee6e8a
https://github.com/polrop/CMake/commit/ae24daf591b12d8c23fa481f93a13270c9a0c00f

Thanks for the "Cannot pass a reference to an anonymous object" commit
I already wondered if it will work on all compilers.

Peter


--

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