On Sat, Apr 25, 2020 at 12:26 AM Junio C Hamano <gitster@xxxxxxxxx> wrote: > > "Sibi Siddharthan via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > > > This is an attempt to build Git using CMake. > > What is your longer-term plan on this one? Would the ultimate goal > be > > (1) to maintain both CMake and Makefile and keep them in sync? > > (2) force all the Git developers (not users or binary packagers) > start using cmake and abandon Makefile, and let CMake generate > Makefile? > > (3) something else? > > Given that bootstrapping CMake typically takes a working "make", by > definition, if you drop Makefile from our shipped source tree, the > audience you can support on minority platforms would be smaller than > what we have. It is not negotiable that we keep Makefile as a valid > way to build Git, and the Makefile must be tweakable for those on a > minority platforms when things do not go the way they want to (the > tweakability is most needed on minority/exotic platforms). > > W ith either (1) or (2) above, I have a feeling that engineering > burden to divert resources to add cmake support (with sustainable > plan to keep "fixable/tweakable" Makefile that is in sync) alone > would already be high enough. It is unclear the reason why we want > to pay all that cost---to gain what? Other than to make those who > like CMake feel happier, that is. > > I do not want to sound overly negative in my first response, but you > might thank whoever says "no" early before you invest too much time > on this topic, so I'll send the above before even reading these 8 > patches. > > Thanks for your interest in the project. > Hi Junio, The goal would be to maintain a CMake build for Git keeping it in sync with the Makefile. The Makefile is not going to be replaced at all. The CMake script for now only supports Linux and Windows. It does not support BSD, Solaris and others, whereas the Makefile does support them. The reason for introducing CMake is primarily for compiling git on Windows and to do out of source builds. I think the CMake script makes it easier to build Git as it does the necessary function and header checks and generates the required compile definitions. I would like to say that the proposed CMake build system is meant to complement the currently used Makefile, not to replace it at all. Thank You, Sibi Siddharthan PS: Sorry for the multiple emails:)