Re: [cmake-developers] ninja/make compilation response file

2016-04-05 Thread Dmitry Ivanov
>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

2016-04-05 Thread Dmitry Ivanov
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

2016-04-04 Thread Ben Boeckel
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

2016-04-04 Thread Nils Gladitz

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

2016-04-04 Thread Nils Gladitz

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

2016-04-04 Thread Dmitry Ivanov
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