Re: [cmake-developers] Generating information for C++ tools in cmake (patch)

2011-04-25 Thread Brad King
On 04/05/2011 12:13 PM, Manuel Klimek wrote:
 On Tue, Apr 5, 2011 at 6:19 AM, Brad King brad.k...@kitware.com wrote:
 On 04/05/2011 08:33 AM, Brad King wrote:
 On 04/04/2011 12:01 PM, Manuel Klimek wrote:
 Done.

 Thanks!

 While running the test on more platforms I ran into a problem.  On
 Windows makefile tools like Borland and NMake we use custom inline
 response file syntax to handle long command lines:

  
 http://cmake.org/gitweb?p=cmake.git;a=blob;f=Modules/Platform/Windows.cmake;hb=v2.8.4#l16

 This syntax ends up in compile_commands.json and then makes no sense.
 This opens a can of worms.  Unless we can refactor the generators to
 avoid using inline response file syntax then this whole feature will
 not work.  Recently I added support for using cmake-generated response
 files for -I paths on some platforms:

  http://cmake.org/gitweb?p=cmake.git;a=commit;h=1c3233a8

 It is a start, but I have no time to work further on ensuring command
 lines in the makefiles stay short enough for the ancient Windows make
 tools.

 For what platforms do you actually need this feature?
 
 The first version is completely fine as unix-only - clang on Windows
 is not exactly there yet, so I think doing the Windows stuff as a
 second step when we have proven the usefulness in unix land by
 integrating some tools will make sense.

I still cannot integrate this patch series until the above problems have
been addressed.  Please extend the series with a patch that disables the
option except on the platforms where you know it works.

Thanks,
-Brad
___
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] Generating information for C++ tools in cmake (patch)

2011-04-25 Thread Manuel Klimek
On Mon, Apr 25, 2011 at 8:27 AM, Brad King brad.k...@kitware.com wrote:
 On 04/05/2011 12:13 PM, Manuel Klimek wrote:
 On Tue, Apr 5, 2011 at 6:19 AM, Brad King brad.k...@kitware.com wrote:
 On 04/05/2011 08:33 AM, Brad King wrote:
 On 04/04/2011 12:01 PM, Manuel Klimek wrote:
 Done.

 Thanks!

 While running the test on more platforms I ran into a problem.  On
 Windows makefile tools like Borland and NMake we use custom inline
 response file syntax to handle long command lines:

  http://cmake.org/gitweb?p=cmake.git;a=blob;f=Modules/Platform/Windows.cmake;hb=v2.8.4#l16

 This syntax ends up in compile_commands.json and then makes no sense.
 This opens a can of worms.  Unless we can refactor the generators to
 avoid using inline response file syntax then this whole feature will
 not work.  Recently I added support for using cmake-generated response
 files for -I paths on some platforms:

  http://cmake.org/gitweb?p=cmake.git;a=commit;h=1c3233a8

 It is a start, but I have no time to work further on ensuring command
 lines in the makefiles stay short enough for the ancient Windows make
 tools.

 For what platforms do you actually need this feature?

 The first version is completely fine as unix-only - clang on Windows
 is not exactly there yet, so I think doing the Windows stuff as a
 second step when we have proven the usefulness in unix land by
 integrating some tools will make sense.

 I still cannot integrate this patch series until the above problems have
 been addressed.  Please extend the series with a patch that disables the
 option except on the platforms where you know it works.

Is just putting IF(UNIX) ... around all the stuff enough for that?

Thanks,
/Manuel
___
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] Generating information for C++ tools in cmake (patch)

2011-04-25 Thread Brad King
On 04/25/2011 11:54 AM, Manuel Klimek wrote:
 Is just putting IF(UNIX) ... around all the stuff enough for that?

It's not just the test.  The C++ implementation cannot handle all
generators.  It should be taught to run only for generators where it
is known to work.  Perhaps it can check a value set by each platform
module.

-Brad
___
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] Generating information for C++ tools in cmake (patch)

2011-04-25 Thread Manuel Klimek
On Mon, Apr 25, 2011 at 8:59 AM, Brad King brad.k...@kitware.com wrote:
 On 04/25/2011 11:54 AM, Manuel Klimek wrote:
 Is just putting IF(UNIX) ... around all the stuff enough for that?

 It's not just the test.  The C++ implementation cannot handle all
 generators.  It should be taught to run only for generators where it
 is known to work.  Perhaps it can check a value set by each platform
 module.

Ah, ok, I was thinking putting it around the exporting of the flag, so
that you can only switch it on on supported platforms - as far as I
can tell, the code still works on other platforms, the database is
just not enough, right?

Cheers,
/Manuel
___
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] Generating information for C++ tools in cmake (patch)

2011-04-25 Thread Brad King
On 04/25/2011 12:06 PM, Manuel Klimek wrote:
 On Mon, Apr 25, 2011 at 8:59 AM, Brad King brad.k...@kitware.com wrote:
 On 04/25/2011 11:54 AM, Manuel Klimek wrote:
 Is just putting IF(UNIX) ... around all the stuff enough for that?

 It's not just the test.  The C++ implementation cannot handle all
 generators.  It should be taught to run only for generators where it
 is known to work.  Perhaps it can check a value set by each platform
 module.
 
 Ah, ok, I was thinking putting it around the exporting of the flag, so
 that you can only switch it on on supported platforms

That approach may work.  It is up to the platform modules to present
the option when it can be implemented.  If that is just a few conditions
around a single place then great.

 - as far as I
 can tell, the code still works on other platforms, the database is
 just not enough, right?

The main problem is that some of the generators write syntax that is
specific to the make tool (e.g. NMake, Borland) directly into the
command line.  That syntax confuses any tool that wants to read it
from the database.

-Brad
___
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers