Re: [cmake-developers] [RFC] Fastbuild generator

2017-01-13 Thread comic fans
I hope I've known this earlier so I can do less... and I'll goto your branch and
join gitter channel to discuss .

On Mon, Jan 9, 2017 at 5:12 PM, Charles Huet  wrote:
> Hi,
>
> I ported the work of @inbilla to CMake trunk a few months ago, and fixed
> quite a few tests on my fork: https://github.com/packadal/CMake
>
> I think it would be best if we tried to synchronize our efforts, since lots
> of people are interested in getting a FastBuild generator for CMake !
> There is a gitter channel that is used to discuss the progress here:
> https://gitter.im/inbilla/CMake
>
> I hope we can get this to work well enough to be iontegrated in CMake 3.8,
> but I did not have time to work on this lately.
> I hope to get back to it this week, but I am always available for discussion
> :)
>
> Best
>
>
> Le dim. 8 janv. 2017 à 05:59, comic fans  a écrit :
>>
>> Hello:
>>
>> Fastbuild is a opensource multi platform build tool which has built-in
>> cache/distribute (likes ccache/distcc) and pch/unity build
>> support(http://fastbuild.org/docs/home.html).
>>
>>
>> @inbilla created fastbuild generator based on 3.2.1 here
>> https://github.com/inbilla/CMake , this completed almost everything
>> but didn't continue developing for a while. recently I've rebase his
>> work on master branch, with some
>> tweaks(https://gitlab.kitware.com/comicfans/cmake/commits/upstream2),now
>> it can builds cmake , and almost llvm/clang,  so I'd like to share
>> this here, hopes more user to test this out.
>>
>> I haven't touch cmake code before so it may not as good as you think.
>> If anyone interested to try this code, any comments and suggestion
>> would be helpful.
>>
>>
>> How Fastbuild compares to Ninja :
>> If build locally, fastbuild almost as fast as ninja , but fastbuild
>> provides simpler distrubte support,you can just run fastbuild worker
>> on many woker machine (without need to install toolchain) to speed up.
>> As I tested,
>>
>> host (4core4thread 8GB ) local build clang:  60 min
>> host + worker (6core12thread 32GB) distrubite clang : 30 min
>>
>> Fastbuild Generator current status:
>>
>>  local build works on linux/windows (I don't have mac to test)
>>
>>  some cmake variable not set correctly (RUNTIME_OUTPUT_DIRECTORY,
>> LIBRARY_OUTPUT_DIRECTORY,  how to put CFGIntDir in ?  help needed !),
>>
>>  distrubte build not work (you can list toolchain exe/dll in header,
>> or just copy header from fastbuild src's to make distribute build
>> work) I wonder if cmake has builtin support to list all these files,
>> help needed!
>>
>> config/build on windows must run from vs cmd console, because cmake
>> didn't detect windows SDK for include/link path (Ninja generator also
>> suffer from this). help needed.
>>
>> edit CMake files didn't auto trigger fastbuild auto rebuild, must rerun
>> cmake
>>
>> rerun cmake makes fastbuild rebuild everything. this is fastbuild's
>> shortcoming, author is working on this.
>>
>> custom commands will generate script file (bash/bat) ,should we write
>> commands as argument to sh/cmd , or improve this in fastbuild ?
>> --
>>
>> 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
-- 

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] [RFC] Fastbuild generator

2017-01-09 Thread Charles Huet
Hi,

I ported the work of @inbilla to CMake trunk a few months ago, and fixed
quite a few tests on my fork: https://github.com/packadal/CMake

I think it would be best if we tried to synchronize our efforts, since lots
of people are interested in getting a FastBuild generator for CMake !
There is a gitter channel that is used to discuss the progress here:
https://gitter.im/inbilla/CMake

I hope we can get this to work well enough to be iontegrated in CMake 3.8,
but I did not have time to work on this lately.
I hope to get back to it this week, but I am always available for
discussion :)

Best


Le dim. 8 janv. 2017 à 05:59, comic fans  a écrit :

Hello:

Fastbuild is a opensource multi platform build tool which has built-in
cache/distribute (likes ccache/distcc) and pch/unity build
support(http://fastbuild.org/docs/home.html).


@inbilla created fastbuild generator based on 3.2.1 here
https://github.com/inbilla/CMake , this completed almost everything
but didn't continue developing for a while. recently I've rebase his
work on master branch, with some
tweaks(https://gitlab.kitware.com/comicfans/cmake/commits/upstream2),now
it can builds cmake , and almost llvm/clang,  so I'd like to share
this here, hopes more user to test this out.

I haven't touch cmake code before so it may not as good as you think.
If anyone interested to try this code, any comments and suggestion
would be helpful.


How Fastbuild compares to Ninja :
If build locally, fastbuild almost as fast as ninja , but fastbuild
provides simpler distrubte support,you can just run fastbuild worker
on many woker machine (without need to install toolchain) to speed up.
As I tested,

host (4core4thread 8GB ) local build clang:  60 min
host + worker (6core12thread 32GB) distrubite clang : 30 min

Fastbuild Generator current status:

 local build works on linux/windows (I don't have mac to test)

 some cmake variable not set correctly (RUNTIME_OUTPUT_DIRECTORY,
LIBRARY_OUTPUT_DIRECTORY,  how to put CFGIntDir in ?  help needed !),

 distrubte build not work (you can list toolchain exe/dll in header,
or just copy header from fastbuild src's to make distribute build
work) I wonder if cmake has builtin support to list all these files,
help needed!

config/build on windows must run from vs cmd console, because cmake
didn't detect windows SDK for include/link path (Ninja generator also
suffer from this). help needed.

edit CMake files didn't auto trigger fastbuild auto rebuild, must rerun
cmake

rerun cmake makes fastbuild rebuild everything. this is fastbuild's
shortcoming, author is working on this.

custom commands will generate script file (bash/bat) ,should we write
commands as argument to sh/cmd , or improve this in fastbuild ?
--

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

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