Re: [cmake-developers] Generating information for C++ tools in cmake (patch)
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)
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)
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)
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)
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