From: phillip.wood123@gmail.com Date: Fri, 27 Sep 2024 10:00:39 GMT Subject: Re: ./configure fails to link test program due to missing dependencies Message-ID: In-Reply-To: <71ed5967-0302-42bc-97c7-81886408d688@gentoo.org> Hi Eli Thanks for this, it's useful to know how meson works with Visual Studio On 26/09/2024 17:04, Eli Schwartz wrote: > 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.) If you've got git-for-windows installed then it has the POSIX and perl bits that are required to run git and the CMake build uses those and downloads any libraries it needs with vcpkg so you don't need the sdk. > - 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"? Personally I think so long as there is a simple way to build git without resorting to the command line that should be fine. It sounds like that's the case with meson. > [...] > 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. Agreed Best Wishes Phillip