Support Building Using Visual Studio 2013
authorChun-wei Fan <fanchunwei@src.gnome.org>
Tue, 3 Jun 2014 07:50:37 +0000 (15:50 +0800)
committerChun-wei Fan <fanchunwei@src.gnome.org>
Tue, 3 Jun 2014 07:50:37 +0000 (15:50 +0800)
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
build/win32/Makefile.am
build/win32/vs11/Makefile.am
build/win32/vs12/.gitignore [new file with mode: 0644]
build/win32/vs12/Makefile.am [new file with mode: 0644]
configure.ac

index 58c1e15..04d2405 100644 (file)
@@ -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)/
 
 
index 7ee6648..8a9a8b4 100644 (file)
@@ -2,7 +2,8 @@ SUBDIRS =       \
        dirent  \
        vs9     \
        vs10    \
-       vs11
+       vs11    \
+       vs12
 
 EXTRA_DIST =           \
        make.msc        \
index 5058d7e..57fc096 100644 (file)
@@ -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 (file)
index 0000000..a7e3d4a
--- /dev/null
@@ -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 (file)
index 0000000..4b15dc3
--- /dev/null
@@ -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
index 108a411..6ede842 100644 (file)
@@ -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