BOINC / boinc

Open-source software for volunteer computing and grid computing.
https://boinc.berkeley.edu
GNU Lesser General Public License v3.0
2.03k stars 449 forks source link

Replace autotools build system #1882

Open ChristianBeer opened 7 years ago

ChristianBeer commented 7 years ago

The current autotools centered build system is very fragile and hard to maintain (if you are not a autotools expert). It is also Unix/Linux centered and only half heartedly supports cross compilation (e.g. mingw).

I propose to replace it gradually with a cmake based build system which offers multi-platform and multi-compiler support and an easier language to write build configuration files. It can for example build Visual Studio project files as well as regular Makefiles as well as control files for other build tools.

I already did some initial testing and can create config.h to replace autoheader and have some simple rules to build basic libraries. The challenging part is backwards compatibility (what special checks are still relevant and what can be omitted) and creating/using static libraries for release builds which I have not yet explored.

AenBleidd commented 7 years ago

@ChristianBeer Agreed. I have some experience creating cmake scripts so I can try to help you with this.

JamesMolson commented 7 years ago

I am working on this right now and should have an early (i.e. there might be some missing features) pull request ready for people to view within the next few days.

ChristianBeer commented 6 years ago

In a recent PR discussion the idea to use meson to replace the build system was floated. I'm not sure we can migrate all our use cases mainly because I don't know all our use cases. Meson is written in python3 and uses the ninja build system. This would move us away from make and into new territory.

talregev commented 4 years ago

I want to start a process to convert boinc compilation to CMake. @ChristianBeer @JamesMolson Do you want to join the efforts?

BryanQuigley commented 3 years ago

I've been wrestling with autotools repeatedly. Any chance to help with this?

talregev commented 3 years ago

@BryanQuigley What help do you need? Also we compile boinc with autotools inside the ci. You can see an example how to compile in your system.