Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-18 Thread Nicolas Desprès
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

Note that this branch has been created from next so you better cherry
picked these two patches than merge them back to next.

Cheers,
Nico
--

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-18 Thread Peter Kümmel

On 18.07.2012 11:58, Nicolas Desprès wrote:

On Tue, Jul 17, 2012 at 11:39 PM, Bill Hoffmanbill.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

Note that this branch has been created from next so you better cherry
picked these two patches than merge them back to next.

Cheers,
Nico


I'm busy on this too. But I've removed the friend by making some functions 
public.

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-18 Thread Peter Kümmel

On 18.07.2012 11:58, Nicolas Desprès wrote:

On Tue, Jul 17, 2012 at 11:39 PM, Bill Hoffmanbill.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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-18 Thread Nicolas Desprès
On Wed, Jul 18, 2012 at 12:10 PM, Peter Kümmel syntheti...@gmx.net wrote:
 On 18.07.2012 11:58, Nicolas Desprès wrote:

 On Tue, Jul 17, 2012 at 11:39 PM, Bill Hoffmanbill.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

 Note that this branch has been created from next so you better cherry
 picked these two patches than merge them back to next.

 Cheers,
 Nico


 I'm busy on this too. But I've removed the friend by making some functions
 public.


Ok. So I let you fix these errors too:
http://open.cdash.org/viewBuildError.php?buildid=2449176

Good luck,
Nico
--

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-17 Thread Bill Hoffman

On 7/17/2012 8:10 AM, Peter Kümmel wrote:

On 17.07.2012 13:45, David Cole wrote:


Peter, can you rebase this on current 'master', push this to our stage
as a branch, and merge it to 'next'...?



Done. Let's see what happens on CDash.



Looks ok, but is not building on Borland:

http://open.cdash.org/viewBuildError.php?buildid=2447645

-Bill

--

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-17 Thread Peter Kümmel

On 17.07.2012 15:39, Nicolas Desprès wrote:

On Tue, Jul 17, 2012 at 3:29 PM, Bill Hoffmanbill.hoff...@kitware.com  wrote:

On 7/17/2012 8:10 AM, Peter Kümmel wrote:


On 17.07.2012 13:45, David Cole wrote:



Peter, can you rebase this on current 'master', push this to our stage
as a branch, and merge it to 'next'...?



Done. Let's see what happens on CDash.



Looks ok, but is not building on Borland:

http://open.cdash.org/viewBuildError.php?buildid=2447645


Looks like cmNinjaTargetGenerator::MacOSXContentGeneratorType should
be mark as friend of cmLocalNinjaGenerator and cmGlobalNinjaGenerator.
Apparently Borland does not forward friendness to innerclass.

Cheers,
Nico


Isn't it possible to avoid friend?

'friend' is not your friend

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-17 Thread Nicolas Desprès
On Tue, Jul 17, 2012 at 7:01 PM, Peter Kümmel syntheti...@gmx.net wrote:
 On 17.07.2012 15:39, Nicolas Desprès wrote:

 On Tue, Jul 17, 2012 at 3:29 PM, Bill Hoffmanbill.hoff...@kitware.com
 wrote:

 On 7/17/2012 8:10 AM, Peter Kümmel wrote:


 On 17.07.2012 13:45, David Cole wrote:



 Peter, can you rebase this on current 'master', push this to our stage
 as a branch, and merge it to 'next'...?


 Done. Let's see what happens on CDash.


 Looks ok, but is not building on Borland:

 http://open.cdash.org/viewBuildError.php?buildid=2447645


 Looks like cmNinjaTargetGenerator::MacOSXContentGeneratorType should
 be mark as friend of cmLocalNinjaGenerator and cmGlobalNinjaGenerator.
 Apparently Borland does not forward friendness to innerclass.

 Cheers,
 Nico


 Isn't it possible to avoid friend?

 'friend' is not your friend


I don't like the friend keyword either but I try to follow the current
architecture of CMake. In cmLocalUnixMakefileGenerator you can see
that:

  friend class cmMakefileTargetGenerator;
  friend class cmMakefileExecutableTargetGenerator;
  friend class cmMakefileLibraryTargetGenerator;
  friend class cmMakefileUtilityTargetGenerator;
  friend class cmGlobalUnixMakefileGenerator3;

So it does in cmLocalNinjaGenerator.

I have an alternate approach to factor this code without using a
function object but it is much more complicated. See
https://github.com/polrop/CMake/commit/525ec73fa765b7ee55cd89799ba81410da0dab34

-- 
Nicolas Desprès
--

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-17 Thread Peter Kümmel

On 17.07.2012 19:11, Nicolas Desprès wrote:


I don't like the friend keyword either but I try to follow the current
architecture of CMake.


Yes, I know.


In cmLocalUnixMakefileGenerator you can see that:

   friend class cmMakefileTargetGenerator;
   friend class cmMakefileExecutableTargetGenerator;
   friend class cmMakefileLibraryTargetGenerator;
   friend class cmMakefileUtilityTargetGenerator;
   friend class cmGlobalUnixMakefileGenerator3;

So it does in cmLocalNinjaGenerator.

I have an alternate approach to factor this code without using a
function object but it is much more complicated. See
https://github.com/polrop/CMake/commit/525ec73fa765b7ee55cd89799ba81410da0dab34



OK, maybe it is simpler to add a the functions to cmNinjaTargetGenerator which
forwards the call to the Local/Global classes.

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-17 Thread Nicolas Desprès
On Tue, Jul 17, 2012 at 7:21 PM, Peter Kümmel syntheti...@gmx.net wrote:
 On 17.07.2012 19:11, Nicolas Desprès wrote:


 I don't like the friend keyword either but I try to follow the current
 architecture of CMake.


 Yes, I know.


 In cmLocalUnixMakefileGenerator you can see that:

friend class cmMakefileTargetGenerator;
friend class cmMakefileExecutableTargetGenerator;
friend class cmMakefileLibraryTargetGenerator;
friend class cmMakefileUtilityTargetGenerator;
friend class cmGlobalUnixMakefileGenerator3;

 So it does in cmLocalNinjaGenerator.

 I have an alternate approach to factor this code without using a
 function object but it is much more complicated. See

 https://github.com/polrop/CMake/commit/525ec73fa765b7ee55cd89799ba81410da0dab34


 OK, maybe it is simpler to add a the functions to cmNinjaTargetGenerator
 which
 forwards the call to the Local/Global classes.


I tried that first but this imply the use of function pointer which is
not appropriated with non-static member functions. That's why I have
used a function object.

-Nico
--

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-17 Thread Bill Hoffman

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.


Thanks.

--
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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-17 Thread Peter Kümmel

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.

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-17 Thread Bill Hoffman

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.




--

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-10 Thread Peter Kümmel

On 07.07.2012 20:54, Nicolas Desprès wrote:


I have pushed the re-factor patch. Let me know what do you think. I
have tested on Linux and MacOSX with the Makefile and Ninja generator
and both work fine.



I've tested it here and BundleTest still fails.
It doesn't install the Resource files.

Looking at your patch I assume you've overseen

// write rules for Mac OS X Application Bundle content.
void WriteMacOSXContentRules(std::vectorcmSourceFile* const sources);
void WriteMacOSXContentRules(cmSourceFile source, const char* pkgloc);

in class cmMakefileTargetGenerator.

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

Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-07 Thread Nicolas Desprès
On Fri, Jul 6, 2012 at 9:56 PM, Bill Hoffman bill.hoff...@kitware.com wrote:
 On 7/6/2012 12:45 PM, Nicolas Desprčs wrote:

 Both work. Generally I use helper class with language not supporting
 multiple inheritance but if you prefer not to use it that's not a
 problem. I'll do the patch. Thanks for answering.

 Great, thanks for doing the work.  Lets go with the helper class, should be
 pretty easy to implement.

 Thanks again.

I have pushed the re-factor patch. Let me know what do you think. I
have tested on Linux and MacOSX with the Makefile and Ninja generator
and both work fine.


 Only one thing left that the ninja generator won't do correctly.  It won't
 build fortran 90 code with modules.  I posted to the ninja list, but no one
 seems interested in helping to solve the problem... :(

I'm afraid there is not so many people interested in Fortran 90 support :(.

I think the problem would be the same in C++ if we had to use CMake's
own dependency parser instead of -M options. In this case, my first
try would be to generate the build.ninja once the dependency scan has
been done. When the dependencies change the build.ninja would have to
be rewritten.

Cheers,
Nico
--

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

Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-07 Thread Claus Klein

On 07.07.2012, at 20:54, Nicolas Desprès wrote:


I have pushed the re-factor patch. Let me know what do you think. I
have tested on Linux and MacOSX with the Makefile and Ninja generator
and both work fine.


Which OS version and Tools do you have installed?

I merged in your patch and have still Problems?

see http://open.cdash.org/viewTest.php?onlyfailedbuildid=2421596

Claus



--

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

Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-07 Thread Nicolas Desprès
On Sat, Jul 7, 2012 at 9:02 PM, Claus Klein claus.kl...@arcormail.de wrote:
 On 07.07.2012, at 20:54, Nicolas Desprès wrote:

 I have pushed the re-factor patch. Let me know what do you think. I
 have tested on Linux and MacOSX with the Makefile and Ninja generator
 and both work fine.


 Which OS version and Tools do you have installed?

Mac OS X 10.7.4
Apple clang version 3.1 (tags/Apple/clang-318.0.45) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin11.4.0
Thread model: posix


 I merged in your patch and have still Problems?

 see http://open.cdash.org/viewTest.php?onlyfailedbuildid=2421596


FAILED: /opt/local/bin/gcc   -arch ppc -isysroot
/Developer/SDKs/MacOSX10.5.sdk -MMD -MT CMakeFiles/bar.dir/bar.c.o -MF
CMakeFiles/bar.dir/bar.c.o.d -o CMakeFiles/bar.dir/bar.c.o   -c
/Users/clausklein/Downloads/cmake/Tests/Architecture/bar.c
gcc: error: unrecognized option '-arch'

Looks like you have a problem with your setup.

Cheers,
Nico
--

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-06 Thread Nicolas Desprès
I forgot to say that most of the code is duplicated from the Makefile
generator. I have left some todo but this code will need to be
factored sooner or later.

On Fri, Jul 6, 2012 at 12:54 PM, Nicolas Desprès
nicolas.desp...@gmail.com wrote:
 Hi,

 I finally found the time to fix the Ninja generator on OS X. Mainly I
 have fixed ExportImport and Qt4Deploy. I based my work on jkp's work
 (https://github.com/jkp/CMake/commits/jkp/ninja-generator). Although
 there are other patches in this branch, I just included commits fixing
 tests. We could later add more tests if required. I also had a minor
 issue with CMake.Install because my Qt4, installed with Homebrew, did
 not have write access. You can find my patches here:
 https://github.com/polrop/CMake/commits/ninja-fix-macosx. I have
 tested my work on Linux too but not on Windows. I don't think my patch
 will break Windows, but we never know so I did not enable Ninja on
 MacOSX yet. I prefer to wait for a green dashboard.

 Cheers,
 Nico



-- 
Nicolas Desprès
--

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-06 Thread David Cole
We should re-factor it sooner (not later).

This is great, thank you very much!

But we should definitely re-factor it before merging it to 'master'


Thx,
David


On Fri, Jul 6, 2012 at 7:05 AM, Nicolas Desprès
nicolas.desp...@gmail.com wrote:
 I forgot to say that most of the code is duplicated from the Makefile
 generator. I have left some todo but this code will need to be
 factored sooner or later.

 On Fri, Jul 6, 2012 at 12:54 PM, Nicolas Desprès
 nicolas.desp...@gmail.com wrote:
 Hi,

 I finally found the time to fix the Ninja generator on OS X. Mainly I
 have fixed ExportImport and Qt4Deploy. I based my work on jkp's work
 (https://github.com/jkp/CMake/commits/jkp/ninja-generator). Although
 there are other patches in this branch, I just included commits fixing
 tests. We could later add more tests if required. I also had a minor
 issue with CMake.Install because my Qt4, installed with Homebrew, did
 not have write access. You can find my patches here:
 https://github.com/polrop/CMake/commits/ninja-fix-macosx. I have
 tested my work on Linux too but not on Windows. I don't think my patch
 will break Windows, but we never know so I did not enable Ninja on
 MacOSX yet. I prefer to wait for a green dashboard.

 Cheers,
 Nico



 --
 Nicolas Desprès
 --

 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
--

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-06 Thread Peter Kümmel

On 06.07.2012 12:54, Nicolas Desprès wrote:

Hi,

I finally found the time to fix the Ninja generator on OS X. Mainly I
have fixed ExportImport and Qt4Deploy. I based my work on jkp's work
(https://github.com/jkp/CMake/commits/jkp/ninja-generator). Although
there are other patches in this branch, I just included commits fixing
tests. We could later add more tests if required. I also had a minor
issue with CMake.Install because my Qt4, installed with Homebrew, did
not have write access. You can find my patches here:
https://github.com/polrop/CMake/commits/ninja-fix-macosx. I have
tested my work on Linux too but not on Windows. I don't think my patch
will break Windows, but we never know so I did not enable Ninja on
MacOSX yet. I prefer to wait for a green dashboard.


Great! I've rebased you branch on next and tested it on Windows,
looks good so far!

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-06 Thread Nicolas Desprès
I agree. Any idea how you would like to re-factor it? I am thinking
about using multiple inheritance by introducing a cmOSXBundleGenerator
class with CreateFramework and CreateAppBundle. WDYT?

Cheers,
Nico

On Fri, Jul 6, 2012 at 1:13 PM, David Cole david.c...@kitware.com wrote:
 We should re-factor it sooner (not later).

 This is great, thank you very much!

 But we should definitely re-factor it before merging it to 'master'


 Thx,
 David


 On Fri, Jul 6, 2012 at 7:05 AM, Nicolas Desprès
 nicolas.desp...@gmail.com wrote:
 I forgot to say that most of the code is duplicated from the Makefile
 generator. I have left some todo but this code will need to be
 factored sooner or later.

 On Fri, Jul 6, 2012 at 12:54 PM, Nicolas Desprès
 nicolas.desp...@gmail.com wrote:
 Hi,

 I finally found the time to fix the Ninja generator on OS X. Mainly I
 have fixed ExportImport and Qt4Deploy. I based my work on jkp's work
 (https://github.com/jkp/CMake/commits/jkp/ninja-generator). Although
 there are other patches in this branch, I just included commits fixing
 tests. We could later add more tests if required. I also had a minor
 issue with CMake.Install because my Qt4, installed with Homebrew, did
 not have write access. You can find my patches here:
 https://github.com/polrop/CMake/commits/ninja-fix-macosx. I have
 tested my work on Linux too but not on Windows. I don't think my patch
 will break Windows, but we never know so I did not enable Ninja on
 MacOSX yet. I prefer to wait for a green dashboard.

 Cheers,
 Nico



 --
 Nicolas Desprès
 --

 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



-- 
Nicolas Desprès
--

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-06 Thread Nicolas Desprès
On Fri, Jul 6, 2012 at 1:29 PM, Peter Kümmel syntheti...@gmx.net wrote:
 On 06.07.2012 12:54, Nicolas Desprès wrote:

 Hi,

 I finally found the time to fix the Ninja generator on OS X. Mainly I
 have fixed ExportImport and Qt4Deploy. I based my work on jkp's work
 (https://github.com/jkp/CMake/commits/jkp/ninja-generator). Although
 there are other patches in this branch, I just included commits fixing
 tests. We could later add more tests if required. I also had a minor
 issue with CMake.Install because my Qt4, installed with Homebrew, did
 not have write access. You can find my patches here:
 https://github.com/polrop/CMake/commits/ninja-fix-macosx. I have
 tested my work on Linux too but not on Windows. I don't think my patch
 will break Windows, but we never know so I did not enable Ninja on
 MacOSX yet. I prefer to wait for a green dashboard.


 Great! I've rebased you branch on next and tested it on Windows,
 looks good so far!


Thanks Peter. Happy to read that.

Nico
--

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-06 Thread Bill Hoffman

On 7/6/2012 7:33 AM, Nicolas Desprès wrote:

I agree. Any idea how you would like to re-factor it? I am thinking
about using multiple inheritance by introducing a cmOSXBundleGenerator
class with CreateFramework and CreateAppBundle. WDYT?

Cheers,
Nico

Thanks, this is great.

I am not a big fan of multiple inheritance.  What about a helper class? 
 cmOSXBundleCreator with the two methods and a pointer to the target 
and the makefile.



-Bill

--

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-06 Thread Nicolas Desprès
On Fri, Jul 6, 2012 at 3:52 PM, Bill Hoffman bill.hoff...@kitware.com wrote:
 On 7/6/2012 7:33 AM, Nicolas Desprès wrote:

 I agree. Any idea how you would like to re-factor it? I am thinking
 about using multiple inheritance by introducing a cmOSXBundleGenerator
 class with CreateFramework and CreateAppBundle. WDYT?

 Cheers,
 Nico

 Thanks, this is great.

 I am not a big fan of multiple inheritance.  What about a helper class?
 cmOSXBundleCreator with the two methods and a pointer to the target and the
 makefile.


Both work. Generally I use helper class with language not supporting
multiple inheritance but if you prefer not to use it that's not a
problem. I'll do the patch. Thanks for answering.

Cheers,
Nico
--

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


Re: [cmake-developers] Ninja passes all tests on OS X

2012-07-06 Thread Bill Hoffman

On 7/6/2012 12:45 PM, Nicolas Desprès wrote:

Both work. Generally I use helper class with language not supporting
multiple inheritance but if you prefer not to use it that's not a
problem. I'll do the patch. Thanks for answering.
Great, thanks for doing the work.  Lets go with the helper class, should 
be pretty easy to implement.


Thanks again.

Only one thing left that the ninja generator won't do correctly.  It 
won't build fortran 90 code with modules.  I posted to the ninja list, 
but no one seems interested in helping to solve the problem... :(


-Bill

--

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