Add autotools scripts to create VS2012 projects
authorChun-wei Fan <fanchunwei@src.gnome.org>
Mon, 19 Nov 2012 04:58:55 +0000 (12:58 +0800)
committerChun-wei Fan <fanchunwei@src.gnome.org>
Thu, 22 Nov 2012 00:56:51 +0000 (08:56 +0800)
As the project file format for Visual Studio 2012 is only slightly
different from Visual Studio 2010 projects, we can provide support for
building GLib (and other projects) with Visual Studio 2012 with relatively
little effort.  This might change when we eventually get GLib to work with
the Windows 8 (Modern UI/formerly Metro) APIs, but this will suffice for
the time being for people needing to build GLib with Visual Studio 2012.

Basically all that needs to be done at 'make dist' is:
-Copy the .sln/.props/README.txt/.vcxproj files and replace the VS2010
 stuff with VS2012 stuff
-Copy the .vcxproj.filters as is

build/Makefile-newvs.am [new file with mode: 0644]
build/win32/vs11/.gitignore [new file with mode: 0644]
build/win32/vs11/Makefile.am [new file with mode: 0644]
configure.ac

diff --git a/build/Makefile-newvs.am b/build/Makefile-newvs.am
new file mode 100644 (file)
index 0000000..2479b09
--- /dev/null
@@ -0,0 +1,32 @@
+# Centralized autotools file
+# Create the Visual Studio 2012 from the
+# Visual Studio 2010 project files
+
+# Author: Fan, Chun-wei
+# November 05, 2012
+
+# MSVC_SLN: name of root project
+
+VCXPROJ_FILES =
+
+$(MSVC_SLN).sln: $(top_srcdir)/build/win32/vs10/$(MSVC_SLN).sln create_vcxproj copy_filters
+       cat $(top_srcdir)/build/win32/vs10/$(MSVC_SLN).sln | sed 's/11\.00/12\.00/g' | sed 's/2010/2012/g' > $(top_builddir)/build/win32/vs11/$(MSVC_SLN).sln
+
+$(MSVC_SLN).props: $(top_builddir)/build/win32/vs10/$(MSVC_SLN).props
+       cat $(top_builddir)/build/win32/vs10/$(MSVC_SLN).props | sed 's/10/11/g' > $(top_builddir)/build/win32/vs11/$(MSVC_SLN).props
+
+README.txt: $(top_srcdir)/build/win32/vs10/README.txt
+       cat $(top_srcdir)/build/win32/vs10/README.txt | sed 's/vs10/vs11/g' | sed 's/VS10/VS11/g' > $(top_builddir)/build/win32/vs11/README.txt
+
+create_vcxproj:
+       for F in `(cd $(top_builddir)/build/win32/vs10 && ls *.vcxproj)`; do \
+               case $$F in \
+                       *)      cat $(top_builddir)/build/win32/vs10/$$F | sed 's/v100/v110/g' > $(top_builddir)/build/win32/vs11/$$F \
+                       ;; \
+               esac; \
+       done
+
+copy_filters:
+       cp  $(top_builddir)/build/win32/vs10/*.vcxproj.filters $(top_builddir)/build/win32/vs11/
+
+
diff --git a/build/win32/vs11/.gitignore b/build/win32/vs11/.gitignore
new file mode 100644 (file)
index 0000000..846cbaa
--- /dev/null
@@ -0,0 +1,30 @@
+gio.vcxproj
+gio.vcxproj.filters
+glib-compile-resources.vcxproj
+glib-compile-resources.vcxproj.filters
+glib-compile-schemas.vcxproj
+glib-compile-schemas.vcxproj.filters
+glib-genmarshal.vcxproj
+glib-genmarshal.vcxproj.filters
+glib.vcxproj
+glib.vcxproj.filters
+gmodule.vcxproj
+gmodule.vcxproj.filters
+gobject.vcxproj
+gobject.vcxproj.filters
+gresource.vcxproj
+gresource.vcxproj.filters
+gsettings.vcxproj
+gsettings.vcxproj.filters
+gspawn-win32-helper-console.vcxproj
+gspawn-win32-helper-console.vcxproj.filters
+gspawn-win32-helper.vcxproj
+gspawn-win32-helper.vcxproj.filters
+gthread.vcxproj
+gthread.vcxproj.filters
+testglib.vcxproj
+testglib.vcxproj.filters
+install.vcxproj
+glib.props
+glib.sln
+README.txt
diff --git a/build/win32/vs11/Makefile.am b/build/win32/vs11/Makefile.am
new file mode 100644 (file)
index 0000000..5b351bc
--- /dev/null
@@ -0,0 +1,36 @@
+EXTRA_DIST = \
+       README.txt \
+       glib.sln \
+       glib.props \
+       glib.vcxproj \
+       glib.vcxproj.filters \
+       glib-genmarshal.vcxproj \
+       glib-genmarshal.vcxproj.filters \
+       gspawn-win32-helper-console.vcxproj \
+       gspawn-win32-helper-console.vcxproj.filters \
+       gspawn-win32-helper.vcxproj \
+       gspawn-win32-helper.vcxproj.filters \
+       gmodule.vcxproj \
+       gmodule.vcxproj.filters \
+       gobject.vcxproj \
+       gobject.vcxproj.filters \
+       gthread.vcxproj \
+       gthread.vcxproj.filters \
+       gio.vcxproj \
+       gio.vcxproj.filters \
+       testglib.vcxproj \
+       testglib.vcxproj.filters \
+       glib-compile-schemas.vcxproj \
+       glib-compile-schemas.vcxproj.filters \
+       gsettings.vcxproj \
+       gsettings.vcxproj.filters \
+       glib-compile-resources.vcxproj \
+       glib-compile-resources.vcxproj.filters \
+       gresource.vcxproj \
+       gresource.vcxproj.filters \
+       install.vcxproj
+
+MSVC_SLN = glib
+
+include $(top_srcdir)/build/Makefile-newvs.am
+
index 859dd2a..f8ef232 100644 (file)
@@ -3604,6 +3604,7 @@ build/win32/Makefile
 build/win32/dirent/Makefile
 build/win32/vs9/Makefile
 build/win32/vs10/Makefile
+build/win32/vs11/Makefile
 glib/Makefile
 glib/glib.stp
 glib/libcharset/Makefile