Subject: Re: [RFC] Enable compilation by Makefile for the MSVC toolchain

From: Marius Storm-Olsen <[email-masked]>
Date: Wed, 19 Aug 2009 09:29:48 +0200

Johannes Schindelin said the following on 19.08.2009 09:16:
> On Wed, 19 Aug 2009, Erik Faye-Lund wrote:
>> On Wed, Aug 19, 2009 at 12:38 AM, Johannes 
>> Schindelin<[email-masked]> wrote:
>>>> Nope, you're still able to skip through the erros (with F4)
>>>> as ususal. I've been using a sed-script to translate
>>>> gcc-style errors to msvc-style errors for makefile projects
>>>> before with great success. In this case, the errors are
>>>> already in msvc-style, so that part should really not be any
>>>> issue.
>>> At this point you are just piling work-around on work-around.
>> At what point?
> 
> At the point where you bolt on a sed script on top of a bolted-on
> build procedure.
> 
> Using a Makefile from within Visual Studio is just not the intended
> way to do things, so you will hit the limitations sooner or later.
> 
> For example when the sed script encounters a situation which was
> not anticipated by the script author.
> 
> So I think if we support Microsoft Visual C++, it should be either
> through .vcproj files, or through a procedure that creates them.

IMO, and I'm primarily a Windows developer mind you and spend a lot of 
time in Visual Studio, the primary is to support *compiling* git with 
VC, which is easily done with a few changes to the current Makefile.

The full IDE support is secondary, first because you *can* use the IDE 
already, and second because it'll be harder to whip something up which 
guarantees that the vcproj support stays in-sync at all times and 
won't lag behind.

If you want, you can even use Qt Creator's Makefile support on any 
platform to build and debug git, and get tab completion, code 
refactoring support, 'quick open' navigation etc. So, I still think 
the primary focus should be to simply add the VC support in the 
current setup, and ensure that the patch series is up to scratch; and 
when that's all done, *then* add the effort of properly supporting the 
various IDEs.

Of course, if someone has a huge itch to restructure the current 
Makefile; factoring out the files into a file which can simply be 
included in the current Makefile, and easily parsed by a script, or 
included by CMake, then that can be done in parallel and possible 
added to git mainline before the MSVC support patches from Frank.

--
.marius