On 9/26/24 9:55 AM, Phillip Wood wrote: > One thing to bear in mind is why our CMakeLists.txt was introduced in > the first place [1]. Visual Studio's CMake integration means that so > long as git-for-windows is installed building git is simply a case of > clicking on a button, there is no need to install extra software or > plugins. I'm not sure the same is true for meson and I don't think we > want to end up supporting both. I can't really offer suggestions on what may or may not come preinstalled in Visual Studio. That thread does suggest the major problem cmake was trying to solve is: - having to install the git-for-windows sdk at all (is it still necessary? I guess so, because POSIX shell and perl and mingw runtimes. Unsure how either meson or cmake could solve this.) - people who are *unfamiliar with the command line and want a GUI* Meson has a trivially installable VS Code plugin that is supposed to handle setting up the project for you. You can generate either ninja projects or Visual Studio solutions. "One may need to install a plugin" is hopefully not as big a barrier to entry as "install a bunch of stuff then go to a shell and run make vcxproj". Is the criteria truly "must be one button click"? I'm aware that Visual Studio and VS Code are different IDEs but I know nothing really about the former, SEO for distinguishing between the two is *atrocious*, they use the same exact plugins marketplace, and I figure using VS Code ought to be easy enough for such users if necessary, anyway. I think that discussion between Meson / CMake / GNU Make / etc. should be based on technical merit with attention paid to ease of use without coalescing down to "unfortunately, our choice has been made for us. We must support a *specific* Windows IDE and use whichever build system is preinstalled inside that IDE, because it must be a one-button solution with no dependencies". Stuff like "how painful is it for a Windows contributor to set up an SDK and then also go mess around with Makefile targets and then load the result into their IDE" is an interesting discussion to have but not quite the same as saying "go to the marketplace and install such and such plugin" is an obstacle. -- Eli Schwartz
Attachment:
OpenPGP_signature.asc
Description: OpenPGP digital signature