Subject: Re: Add scripts to generate projects for other buildsystems (MSVC vcproj, QMake)

From: Marius Storm-Olsen <[email-masked]>
Date: Thu, 24 Sep 2009 08:05:10 +0200

Johannes Schindelin said the following on 23.09.2009 22:37:
> Hi,
> 
> On Wed, 23 Sep 2009, Sebastian Schuberth wrote:
> 
>> On Sep 16, 10:20 am, Marius Storm-Olsen <[email-masked]> wrote:
>>
>>> These scripts generate projects for the MSVC IDE (.vcproj files) or
>>> QMake (.pro files), based on the output of a 'make -n MSVC=1 V=1' run.
>>>
>>> This enables us to simply do the necesarry changes in the Makefile, and you
>>> can update the other buildsystems by regenerating the files. Keeping the
>>> other buildsystems up-to-date with main development.
>> I know I'm a little late with my comments as this patch set has
>> already been merged to master. However, for future reference I'd like
>> to point out that something similar could be archived by using e.g.
>> CMake, and only maintaining the CMake project file. I'm not suggesting
>> to actually switch to CMake at this time, but I wanted to point out
>> that a guy called Pau Garcia i Quiles already seems to have created a
>> preliminary CMakeLists.txt file for Git [1], and also tried to build
>> Git for Windows using his CMake-generated MSVC project files.
>>
>> [1] "CMake-ifying git", http://www.elpauer.org/?p=324
> 
> We actually discussed this, and I challenged Pau to provide a recipe (a la 
> /src/openssl/release.sh) that builds, installs and commits CMake.
> 
> There was no response after that challenge.

Also, the buildsystem scripts I added to contrib/buildsystem is made 
in such a way that creating a CMake generator would be very little 
overhead. And since it's very unlikely that any other buildsystem will 
replace the default Makefile anytime soon, I think that is the way to 
go, to generate files for all the other buildsystems based on the 
output of the Makefile. Not optimal, sure, but follows main development.

Note that the contrib/buildsystem scripts could need a major overhaul 
by a Perl guru, as they are currently tuned only for Windows 
consumption (and Msys Perl being the only Perl distribution tested).
But they work as intended for the use-case in mind.

--
.marius