On 06/12/2022 03:52, Junio C Hamano wrote:
Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes:
Just to add my own digression: I asked in some past thread (which I'm
too lazy to dig up) why it was the cmake file couldn't just dispatch to
"make" for most things.
Because make is not installed by default on Windows. Our CI job uses
msbuild (whatever that is) and when I was playing with Visual Studio
last week it was using ninja.
I.e. it needs to at some level be aware of what it's building for the
IDE integration, but for say making a "grep.o" there's no reason it
couldn't be running:
make grep.o
Instead of:
cc <args> -o grep grep.c [...]
which requires duplicating much of the Makefile logic (possibly with
some Makefile shim to not consider any dependencies in that case).
That leads to a question at the other extreme. Why does any logic
in CMakeLists.txt even have to exist at all? Whenever it is asked
to make foo, it can be running "make foo" instead of having its own
logic at all. ;-)
Yes, if make was available then we wouldn't need to use CMake.
Best Wishes
Phillip