aboutsummaryrefslogtreecommitdiff
path: root/contrib/buildsystems/generate
diff options
context:
space:
mode:
authorMarius Storm-Olsen <mstormo@gmail.com>2009-09-16 10:20:30 +0200
committerJunio C Hamano <gitster@pobox.com>2009-09-18 20:00:42 -0700
commit259d87c354954e8ee3b241dce1393c27186e8ee7 (patch)
treec895518b9e1e09c68e1143abf9743b4cd7822d8e /contrib/buildsystems/generate
parenta2c6bf0e7661a4e6eafe7810cca1cd08187d311f (diff)
downloadgit-259d87c354954e8ee3b241dce1393c27186e8ee7.tar.gz
git-259d87c354954e8ee3b241dce1393c27186e8ee7.tar.xz
Add scripts to generate projects for other buildsystems (MSVC vcproj, QMake)
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. The generator system is designed to easily drop in pm's for other buildsystems as well, if someone has an itch. However, the focus has been Windows development, so the 'engine' might need patches to support any platform. Also add some .gitignore entries for MSVC files. Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com> Acked-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib/buildsystems/generate')
-rw-r--r--contrib/buildsystems/generate29
1 files changed, 29 insertions, 0 deletions
diff --git a/contrib/buildsystems/generate b/contrib/buildsystems/generate
new file mode 100644
index 000000000..bc10f25ff
--- /dev/null
+++ b/contrib/buildsystems/generate
@@ -0,0 +1,29 @@
+#!/usr/bin/perl -w
+######################################################################
+# Generate buildsystem files
+#
+# This script generate buildsystem files based on the output of a
+# GNU Make --dry-run, enabling Windows users to develop Git with their
+# trusted IDE with native projects.
+#
+# Note:
+# It is not meant as *the* way of building Git with MSVC, but merely a
+# convenience. The correct way of building Git with MSVC is to use the
+# GNU Make tool to build with the maintained Makefile in the root of
+# the project. If you have the msysgit environment installed and
+# available in your current console, together with the Visual Studio
+# environment you wish to build for, all you have to do is run the
+# command:
+# make MSVC=1
+#
+# Copyright (C) 2009 Marius Storm-Olsen <mstormo@gmail.com>
+######################################################################
+use strict;
+use File::Basename;
+use Cwd;
+
+my $git_dir = getcwd();
+$git_dir =~ s=\\=/=g;
+$git_dir = dirname($git_dir) while (!-e "$git_dir/git.c" && "$git_dir" ne "");
+die "Couldn't find Git repo" if ("$git_dir" eq "");
+exec join(" ", ("PERL5LIB=${git_dir}/contrib/buildsystems ${git_dir}/contrib/buildsystems/engine.pl", @ARGV));