From 6eb55b9a33b3b025859e1a08e11c89719d542d41 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Tue, 3 Jun 2014 15:50:37 +0800 Subject: [PATCH] Support Building Using Visual Studio 2013 Like the Visual Studio 2012 project files, the Visual Studio 2013 files are largely the same as the Visual Studio 2010 project files, so support Visual Studio 2013 by updating the autotools scripts that is used for Visual Studio 2012. This means that project files for Visual Studio 2012 and Visual Studio 2013 can be maintained by simply maintaining the Visual Studio 2010 project files, adding minimal maintenance overhead. --- build/Makefile-newvs.am | 14 +++++------ build/win32/Makefile.am | 3 ++- build/win32/vs11/Makefile.am | 4 ++++ build/win32/vs12/.gitignore | 31 ++++++++++++++++++++++++ build/win32/vs12/Makefile.am | 46 ++++++++++++++++++++++++++++++++++++ configure.ac | 1 + 6 files changed, 91 insertions(+), 8 deletions(-) create mode 100644 build/win32/vs12/.gitignore create mode 100644 build/win32/vs12/Makefile.am diff --git a/build/Makefile-newvs.am b/build/Makefile-newvs.am index 58c1e154f..04d2405cd 100644 --- a/build/Makefile-newvs.am +++ b/build/Makefile-newvs.am @@ -1,5 +1,5 @@ # Centralized autotools file -# Create the Visual Studio 2012 project files +# Create the Visual Studio 2012/2013 project files # from the Visual Studio 2010 project files # Author: Fan, Chun-wei @@ -7,18 +7,18 @@ # MSVC_SLN: name of root project -VCXPROJ_FILES = +MSVC_FORMAT_VER=$(shell echo $$(expr $(MSVC_VER) + 1)) $(MSVC_SLN).sln: $(top_srcdir)/build/win32/vs10/$(MSVC_SLN).sln create_vcxproj copy_filters create_props - 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 + cat $(top_srcdir)/build/win32/vs10/$(MSVC_SLN).sln | sed 's/11\.00/$(MSVC_FORMAT_VER)\.00/g' | sed 's/2010/$(MSVC_VER_LONG)/g' > $(top_builddir)/build/win32/vs$(MSVC_VER)/$(MSVC_SLN).sln 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 + cat $(top_srcdir)/build/win32/vs10/README.txt | sed 's/vs10/vs$(MSVC_VER)/g' | sed 's/VS10/VS$(MSVC_VER)/g' > $(top_builddir)/build/win32/vs$(MSVC_VER)/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 \ + *) cat $(top_builddir)/build/win32/vs10/$$F | sed 's/v100/v$(MSVC_VER)0/g' > $(top_builddir)/build/win32/vs$(MSVC_VER)/$$F \ ;; \ esac; \ done @@ -26,12 +26,12 @@ create_vcxproj: create_props: for F in `(cd $(top_builddir)/build/win32/vs10 && ls *.props)`; do \ case $$F in \ - *) cat $(top_builddir)/build/win32/vs10/$$F | sed 's/10/11/g' > $(top_builddir)/build/win32/vs11/$$F \ + *) cat $(top_builddir)/build/win32/vs10/$$F | sed 's/10/$(MSVC_VER)/g' > $(top_builddir)/build/win32/vs$(MSVC_VER)/$$F \ ;; \ esac; \ done copy_filters: - cp $(top_srcdir)/build/win32/vs10/*.vcxproj.filters $(top_builddir)/build/win32/vs11/ + cp $(top_srcdir)/build/win32/vs10/*.vcxproj.filters $(top_builddir)/build/win32/vs$(MSVC_VER)/ diff --git a/build/win32/Makefile.am b/build/win32/Makefile.am index 7ee6648a2..8a9a8b4b1 100644 --- a/build/win32/Makefile.am +++ b/build/win32/Makefile.am @@ -2,7 +2,8 @@ SUBDIRS = \ dirent \ vs9 \ vs10 \ - vs11 + vs11 \ + vs12 EXTRA_DIST = \ make.msc \ diff --git a/build/win32/vs11/Makefile.am b/build/win32/vs11/Makefile.am index 5058d7e93..57fc09646 100644 --- a/build/win32/vs11/Makefile.am +++ b/build/win32/vs11/Makefile.am @@ -39,4 +39,8 @@ DISTCLEANFILES = $(EXTRA_DIST) MSVC_SLN = glib +MSVC_VER = 11 + +MSVC_VER_LONG = 2012 + include $(top_srcdir)/build/Makefile-newvs.am diff --git a/build/win32/vs12/.gitignore b/build/win32/vs12/.gitignore new file mode 100644 index 000000000..a7e3d4a30 --- /dev/null +++ b/build/win32/vs12/.gitignore @@ -0,0 +1,31 @@ +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 +install.vcxproj +glib.sln +README.txt +glib-build-defines.props +glib-install.props +glib-version-paths.props +glibprepbuild.props diff --git a/build/win32/vs12/Makefile.am b/build/win32/vs12/Makefile.am new file mode 100644 index 000000000..4b15dc31d --- /dev/null +++ b/build/win32/vs12/Makefile.am @@ -0,0 +1,46 @@ +EXTRA_DIST = \ + README.txt \ + glib.sln \ + 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 \ + 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 \ + gio-querymodules.vcxproj \ + gio-querymodules.vcxproj.filters \ + gdbus.vcxproj \ + gdbus.vcxproj.filters \ + install.vcxproj \ + glib-build-defines.props \ + glib-install.props \ + glib-version-paths.props \ + glib-gen-srcs.props + +DISTCLEANFILES = $(EXTRA_DIST) + +MSVC_SLN = glib + +MSVC_VER = 12 + +MSVC_VER_LONG = 2013 + +include $(top_srcdir)/build/Makefile-newvs.am diff --git a/configure.ac b/configure.ac index 108a41188..6ede842fc 100644 --- a/configure.ac +++ b/configure.ac @@ -3602,6 +3602,7 @@ build/win32/dirent/Makefile build/win32/vs9/Makefile build/win32/vs10/Makefile build/win32/vs11/Makefile +build/win32/vs12/Makefile glib/Makefile glib/glib.stp glib/libcharset/Makefile