After Olaf's mentioning of increased buildtimes I'd like to throw 2 different, independent and major changes to our build process into discussion. One is about rbuild and one is about the file layout. I'd like to start with the rbuild related topic.
What I suggest only for consideration, is a move away from rbuild and instead using CMake. CMake is available for Windows and *nix, for Windows both as commandline ans as a lightweight gui tool. It is capable of translating a portable buildfile format into different makefile formats, including nmake and project files for VS and CodeBlocks. It seems incredibly fast compared to rbuild and probably provides every feature we ever need. Although the syntax is a tiny bit more complex than rbuild files, it's much better than writing makefiles. Adding support for building with MSVC should be relatively easy. It's not really a suggestion, as I'm not sure about all the details, but I think it's worth reviewing and taking into consideration.
The second thing is about the file layout. I will post a seperate mail soon.
Regards, Timo
Does this mean the back-end for make (for various IDE project/workspace files) will be replaced by CMake instead? If so this sounds good; let's see if Fireball is around. :)
Definitely better than duplicating effort.
On Sun, 13 Jun 2010 21:42:46 +1000, Timo Kreuzer timo.kreuzer@web.de wrote:
After Olaf's mentioning of increased buildtimes I'd like to throw 2 different, independent and major changes to our build process into discussion. One is about rbuild and one is about the file layout. I'd like to start with the rbuild related topic.
What I suggest only for consideration, is a move away from rbuild and instead using CMake. CMake is available for Windows and *nix, for Windows both as commandline ans as a lightweight gui tool. It is capable of translating a portable buildfile format into different makefile formats, including nmake and project files for VS and CodeBlocks. It seems incredibly fast compared to rbuild and probably provides every feature we ever need. Although the syntax is a tiny bit more complex than rbuild files, it's much better than writing makefiles. Adding support for building with MSVC should be relatively easy. It's not really a suggestion, as I'm not sure about all the details, but I think it's worth reviewing and taking into consideration.
The second thing is about the file layout. I will post a seperate mail soon.
Regards, Timo
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
CMake is also supported by buildbot, so its gonna be even easier here. Big plus.
2010/6/13 Adam Kachwalla geekdundee@gmail.com
Does this mean the back-end for make (for various IDE project/workspace files) will be replaced by CMake instead? If so this sounds good; let's see if Fireball is around. :)
Definitely better than duplicating effort.
On Sun, 13 Jun 2010 21:42:46 +1000, Timo Kreuzer timo.kreuzer@web.de wrote:
After Olaf's mentioning of increased buildtimes I'd like to throw 2 different, independent and major changes to our build process into discussion. One is about rbuild and one is about the file layout. I'd like to start with the rbuild related topic.
What I suggest only for consideration, is a move away from rbuild and instead using CMake. CMake is available for Windows and *nix, for Windows both as commandline ans as a lightweight gui tool. It is capable of translating a portable buildfile format into different makefile formats, including nmake and project files for VS and CodeBlocks. It seems incredibly fast compared to rbuild and probably provides every feature we ever need. Although the syntax is a tiny bit more complex than rbuild files, it's much better than writing makefiles. Adding support for building with MSVC should be relatively easy. It's not really a suggestion, as I'm not sure about all the details, but I think it's worth reviewing and taking into consideration.
The second thing is about the file layout. I will post a seperate mail soon.
Regards, Timo
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
-- Give a man a fish and he will eat for a day. Teach a man to fish and he will eat for a lifetime. Give a man religion and he will die praying for a fish.
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
Timo Kreuzer timo.kreuzer@web.de wrote:
What I suggest only for consideration, is a move away from rbuild and instead using CMake.
Choose CMake, choose SCons, rewrite rbuild, ... whatever, just choose a system and try to migrate our existing build files to it. Then we will see whether the new system works for us or not. If we just discuss this theoretically again, nobody will see the need to take the initiative and actually get to results.
Or in other words: I'm open for any solution as long as someone tries it and the build process gets "better" afterwards (in terms of speed, structure, etc.)
Just my 2 cents,
Colin
On Tue, Jun 15, 2010 at 2:57 AM, Colin Finck mail@colinfinck.de wrote:
Timo Kreuzer timo.kreuzer@web.de wrote:
What I suggest only for consideration, is a move away from rbuild and instead using CMake.
Choose CMake, choose SCons, rewrite rbuild, ... whatever, just choose a system and try to migrate our existing build files to it. Then we will see whether the new system works for us or not. If we just discuss this theoretically again, nobody will see the need to take the initiative and actually get to results.
Or in other words: I'm open for any solution as long as someone tries it and the build process gets "better" afterwards (in terms of speed, structure, etc.)
Just my 2 cents,
Colin
I agree, do it without moving the directories around, just make sure it works before doing any moving.
James
Choose CMake, choose SCons, rewrite rbuild, ... whatever, just choose a system and try to migrate our existing build files to it. Then we will
Exactly. And after you feel neither CMake nor SCons is an ideal solution for ReactOS, one usually gets back to rbuild ;)
see whether the new system works for us or not. If we just discuss this theoretically again, nobody will see the need to take the initiative and actually get to results. From my experience of using CMake for ReactOS I got negative opinion. SCons
also didn't seem very useful for us. But I do encourage someone else to try too, maybe the tools improved over time already, and provide better possibilities now.
Or in other words: I'm open for any solution as long as someone tries it and the build process gets "better" afterwards (in terms of speed, structure, etc.)
Xbuild sounds like the way forward to me. Not only is it XML but it's fully compatible with Visual Studio and msbuild.
http://www.mono-project.com/Microsoft.Build
Ged.
-----Original Message----- From: ros-dev-bounces@reactos.org [mailto:ros-dev-bounces@reactos.org] On Behalf Of Aleksey Bragin Sent: 16 June 2010 08:02 To: ReactOS Development List Subject: Re: [ros-dev] Build process changes...
Choose CMake, choose SCons, rewrite rbuild, ... whatever, just choose a system and try to migrate our existing build files to it. Then we will
Exactly. And after you feel neither CMake nor SCons is an ideal solution for
ReactOS, one usually gets back to rbuild ;)
see whether the new system works for us or not. If we just discuss this theoretically again, nobody will see the need to take the initiative and actually get to results. From my experience of using CMake for ReactOS I got negative opinion. SCons
also didn't seem very useful for us. But I do encourage someone else to try too, maybe the tools improved over time already, and provide better possibilities now.
Or in other words: I'm open for any solution as long as someone tries it and the build process gets "better" afterwards (in terms of speed, structure, etc.)
_______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
Currently, XBuild has no support for C++ projects currently. And even if it did, theoretically XBuild could be used with GCC, but would moving to XBuild mean we'd drop that? Also, what makes XML better? CMake can generate msbuild compatible MSVC projects, so it could still use it for MSVC building...
I might try converting a few modules to CMake to see how it could work, since it seems everybody wants a proof of concept. But my hurdle is understanding how rbuild actually works right now...
On Wed, Jun 16, 2010 at 2:13 AM, Ged Murphy gedmurphy@gmail.com wrote:
Xbuild sounds like the way forward to me. Not only is it XML but it's fully compatible with Visual Studio and msbuild.
http://www.mono-project.com/Microsoft.Build
Ged.
-----Original Message----- From: ros-dev-bounces@reactos.org [mailto:ros-dev-bounces@reactos.org] On Behalf Of Aleksey Bragin Sent: 16 June 2010 08:02 To: ReactOS Development List Subject: Re: [ros-dev] Build process changes...
Choose CMake, choose SCons, rewrite rbuild, ... whatever, just choose a system and try to migrate our existing build files to it. Then we will
Exactly. And after you feel neither CMake nor SCons is an ideal solution for
ReactOS, one usually gets back to rbuild ;)
see whether the new system works for us or not. If we just discuss this theoretically again, nobody will see the need to take the initiative and actually get to results.
From my experience of using CMake for ReactOS I got negative opinion. SCons also didn't seem very useful for us. But I do encourage someone else to try too, maybe the tools improved over time already, and provide better possibilities now.
Or in other words: I'm open for any solution as long as someone tries it and the build process gets "better" afterwards (in terms of speed, structure, etc.)
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
Make a little now. And I think I have to correct my first impressions. I quickly noticed that the syntax is completely retarded, but as it's a macro language, I thought I could work around these problems. But there are some limitations especially regarding dependencies that seem to be hard to overcome. Maybe CMake/lua is better, but it looks discontinued.
Does anyone plan working on SysGen?
I already have "ported" an autotools project to cmake, so I might help there. The big plus of cmake is that it is documented(tm) and that we don't have to care of its maintenance. Also, with good macros, adding a dll to the build might be as simple as "REACTOS_ADD_DLL(gdi32)" into a txt file.
Le mercredi 16 juin 2010 17:53:13, Timo Kreuzer a écrit :
Timo Kreuzer schrieb:
Make a little now.
Uhm.. ? No I dea what I wanted to say. Just ignore this
sentence ;-)
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev