From 76cecf061b377d30e5422cdddb1fb9d19c52421d Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Mon, 19 Nov 2012 12:58:55 +0800 Subject: [PATCH] Add autotools scripts to create VS2012 projects 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 | 32 ++++++++++++++++++++++++++++++++ build/win32/vs11/.gitignore | 30 ++++++++++++++++++++++++++++++ build/win32/vs11/Makefile.am | 36 ++++++++++++++++++++++++++++++++++++ configure.ac | 1 + 4 files changed, 99 insertions(+) create mode 100644 build/Makefile-newvs.am create mode 100644 build/win32/vs11/.gitignore create mode 100644 build/win32/vs11/Makefile.am diff --git a/build/Makefile-newvs.am b/build/Makefile-newvs.am new file mode 100644 index 000000000..2479b09bf --- /dev/null +++ b/build/Makefile-newvs.am @@ -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 index 000000000..846cbaa00 --- /dev/null +++ b/build/win32/vs11/.gitignore @@ -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 index 000000000..5b351bc3a --- /dev/null +++ b/build/win32/vs11/Makefile.am @@ -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 + diff --git a/configure.ac b/configure.ac index 859dd2a7e..f8ef232b0 100644 --- a/configure.ac +++ b/configure.ac @@ -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 -- GitLab