Re: [cmake-developers] ninja/make compilation response file
>Teaching the Ninja generator about response files for object file compilation >would be the way to go (and support for RC as well would be good since the >logic is likely the same). I will time box it and see if I can do it in few days, if not we need to figure out if it can be done like a sponsored feature or something. Actually same story with make file generators, doesn't look like they support response files for obj either. >There was work to reduce the size of the generated build.ninja file. >More work could be done, but the projects I was looking at would only get >marginal improvements from other techniques (though other projects with >different flag quantities might >show other things to improve). What version >of CMake are you using? 3.5.1 atm, 84 mb takes around 3-4 seconds for ninja to parse on my machine, which makes ninja slightly useless an fast incremental builds tool, which is a shame. --Ben -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] ninja/make compilation response file
Just checked the size that we are getting, it's 20 Mb for all Makefile and *.make combined, and 84 mb build.ninja From: Nils Gladitz [mailto:nilsglad...@gmail.com] Sent: Monday, April 4, 2016 18:57 To: Dmitry Ivanov ; cmake-developers@cmake.org Subject: Re: [cmake-developers] ninja/make compilation response file On 04.04.2016 18:38, Nils Gladitz wrote: On 04.04.2016 17:59, Dmitry Ivanov wrote: PS. Can we do something about bloated cmake ninja generator ? in our case cmake generates 1.8 Mb Makefile and 84 Mb build.ninja, though ninja is still faster than make even in this case. Curious. Did you count the accumulative size of all Makefile and Makefile2 files (also in sub-directories)? For a project of mine the ninja files are only half in size of what is generated for the Makefile generator (CMake 3.5.1). Oh and the Makefile generator also uses build.make files which actually seem to be where most of the size goes. Nils -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] ninja/make compilation response file
On Mon, Apr 04, 2016 at 15:59:30 +, Dmitry Ivanov wrote: > We have a strange situation where we do have too many include paths, > which makes command line for obj compilation too long on windows (more > 32kb). > I've tried using set(CMAKE_NINJA_FORCE_RESPONSE_FILE 1), but > apparently after checking cmake upstream I've realized that it's only > implemented for linking, and not compilation. Hmm. I know that RC compilation doesn't support response files (though the rc compiler does on Windows). Haven't had a problem with source compilation though (and I've had to deal with *long* paths before). > What we should do (other than fixing "the problem" with too many > paths) ? Would be nice to have this feature working for makefiles and > ninja. Teaching the Ninja generator about response files for object file compilation would be the way to go (and support for RC as well would be good since the logic is likely the same). > PS. Can we do something about bloated cmake ninja generator ? in our > case cmake generates 1.8 Mb Makefile and 84 Mb build.ninja, though > ninja is still faster than make even in this case. There was work to reduce the size of the generated build.ninja file. More work could be done, but the projects I was looking at would only get marginal improvements from other techniques (though other projects with different flag quantities might show other things to improve). What version of CMake are you using? --Ben -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] ninja/make compilation response file
On 04.04.2016 18:38, Nils Gladitz wrote: On 04.04.2016 17:59, Dmitry Ivanov wrote: PS. Can we do something about bloated cmake ninja generator ? in our case cmake generates 1.8 Mb Makefile and 84 Mb build.ninja, though ninja is still faster than make even in this case. Curious. Did you count the accumulative size of all Makefile and Makefile2 files (also in sub-directories)? For a project of mine the ninja files are only half in size of what is generated for the Makefile generator (CMake 3.5.1). Oh and the Makefile generator also uses build.make files which actually seem to be where most of the size goes. Nils -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] ninja/make compilation response file
On 04.04.2016 17:59, Dmitry Ivanov wrote: PS. Can we do something about bloated cmake ninja generator ? in our case cmake generates 1.8 Mb Makefile and 84 Mb build.ninja, though ninja is still faster than make even in this case. Curious. Did you count the accumulative size of all Makefile and Makefile2 files (also in sub-directories)? For a project of mine the ninja files are only half in size of what is generated for the Makefile generator (CMake 3.5.1). Nils -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
[cmake-developers] ninja/make compilation response file
Hi everyone, We have a strange situation where we do have too many include paths, which makes command line for obj compilation too long on windows (more 32kb). I've tried using set(CMAKE_NINJA_FORCE_RESPONSE_FILE 1), but apparently after checking cmake upstream I've realized that it's only implemented for linking, and not compilation. What we should do (other than fixing "the problem" with too many paths) ? Would be nice to have this feature working for makefiles and ninja. PS. Can we do something about bloated cmake ninja generator ? in our case cmake generates 1.8 Mb Makefile and 84 Mb build.ninja, though ninja is still faster than make even in this case. Best, Dmitry -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers