Bitcoin Core build system (automake vs cmake)
3 messages, 22 to 24 Oct 2017. Started by Kosta Zertsekel.
Kosta Zertsekel (2), Thomas Guyot-Sionnest
Hi guys,
I wonder why automake has become the build system for Bitcoin Core? I mean - why not cmake which is considered better? Can you please point to the relevant discussion or explanation?
Thanks, --- Kosta Z.
Quoted text (6 lines)
>> On Oct 22, 2017, at 13:11, Kosta Zertsekel wrote: >> I wonder why automake has become the build system for Bitcoin Core? >> I mean - why not cmake which is considered better? >> Can you please point to the relevant discussion or explanation? > On Mon, Oct 23, 2017 at 6:24 AM, Jeffrey Paul <jp@eeqj•com> wrote: > Considered by whom? Automake is the standard and I prefer it as it
requires
Quoted text (1 line)
> no additional install on most systems. For that, I consider it better.
Well, here are some quotes about CMake build tools...
JetBrains (2014) ================ Our brief research showed that CMake and ‘make’ were the most popular cross-platform tools, having ~30% of users each, while both Autotools and qmake had less than 7% of users. So we ended up with CMake and make. [https://blog.jetbrains.com/clion/2014/09/cmake-vs-the-others-round-1/]
KDE Project (2006) ================== Now the next big change is happening: KDE is leaving the aging "autotool" build chain behind. Some developers, not only in KDE, like to nickname the autotools as "auto-hell" because of its difficult to comprehend architecture. So, KDE 4 will feature a completely different build system: CMake. [https://lwn.net/Articles/188693/]
Also, there are more advanced build systems: ============================================ - Meson [http://mesonbuild.com] - Ninja [https://ninja-build.org/]
All of them (CMake, Meson, Ninja) had a goal to replace automake. Was there any discussion about choosing the best build system for Bitcoin Core?
Thanks, --- Kosta Z.
On 23/10/17 07:52 AM, Kosta Zertsekel via bitcoin-dev wrote:
Quoted text (18 lines)
> >> On Oct 22, 2017, at 13:11, Kosta Zertsekel wrote: > >> I wonder why automake has become the build system for Bitcoin Core? > >> I mean - why not cmake which is considered better? > >> Can you please point to the relevant discussion or explanation? > > > On Mon, Oct 23, 2017 at 6:24 AM, Jeffrey Paul <jp@eeqj•com > <mailto:jp@eeqj.com>> wrote: > > Considered by whom? Automake is the standard and I prefer it as it > requires > > no additional install on most systems. For that, I consider it better. > > Well, here are some quotes about CMake build tools... > > [...] > > All of them (CMake, Meson, Ninja) had a goal to replace automake. > Was there any discussion about choosing the best build system for > Bitcoin Core?
What exact problem are you trying to fix for bitcoin-core?
Each build system have their pros and cons, and what you need it the right tool for the job. Unless there is a specific problem to solve and that cmake can solve it without causing other issues, why would you want to change?
Or better yet, convert yourself bitcoin-core to cmake and show the developers that it makes build config simpler without scarifying features (cross-platform builds, gitian...) then maybe they'll adopt it.
Regards,