summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2014-07-01 16:39:32 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2014-07-01 16:39:32 +0800
commit8e5f8440a69668a70decf3aac8dd9222d44412ab (patch)
treecfbe5102739e21167621aace8065f643b1f2bf74
parent6e9781c32b4ee79902b5345b8563f03aca34520a (diff)
downloadgtk+-8e5f8440a69668a70decf3aac8dd9222d44412ab.tar.gz
Build: Provide Simple Support for MSVC 2012/2013
As the Visual Studio 2012/2013 are only slightly different from the Visual Studio 2010 projects, we can provide support for them by using scripts to copy the Visual Studio 2010 projects, and update the specific parts as necessary. This is being provided to help people still needing GTK+-2.x and also to help them to transition to GTK+-3.x easier. Thus, there would be little maintenance overhead for these as only the 2010 projects need to be kept up-to-date as a result. This might change when we do get the stack working with WinRT/Metro, but that's going to be another totally different issue.
-rw-r--r--build/Makefile-newvs.am37
-rw-r--r--build/win32/Makefile.am8
-rw-r--r--build/win32/vs11/Makefile.am32
-rw-r--r--build/win32/vs12/Makefile.am32
-rw-r--r--configure.ac2
5 files changed, 108 insertions, 3 deletions
diff --git a/build/Makefile-newvs.am b/build/Makefile-newvs.am
new file mode 100644
index 0000000000..e63b15f760
--- /dev/null
+++ b/build/Makefile-newvs.am
@@ -0,0 +1,37 @@
+# Centralized autotools file
+# Create the Visual Studio 2012/2013 project files
+# from the Visual Studio 2010 project files
+
+# Author: Fan, Chun-wei
+# November 05, 2012
+
+# MSVC_SLN: name of root project
+
+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/$(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/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/v$(MSVC_VER)0/g' > $(top_builddir)/build/win32/vs$(MSVC_VER)/$$F \
+ ;; \
+ esac; \
+ done
+
+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/<VSVer>10<\/VSVer>/<VSVer>$(MSVC_VER)<\/VSVer>/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/vs$(MSVC_VER)/
+
+
diff --git a/build/win32/Makefile.am b/build/win32/Makefile.am
index 3cacc4f387..38f611c240 100644
--- a/build/win32/Makefile.am
+++ b/build/win32/Makefile.am
@@ -1,5 +1,7 @@
include $(top_srcdir)/Makefile.decl
-SUBDIRS = \
- vs9 \
- vs10
+SUBDIRS = \
+ vs9 \
+ vs10 \
+ vs11 \
+ vs12
diff --git a/build/win32/vs11/Makefile.am b/build/win32/vs11/Makefile.am
new file mode 100644
index 0000000000..57a46dd7a8
--- /dev/null
+++ b/build/win32/vs11/Makefile.am
@@ -0,0 +1,32 @@
+include $(top_srcdir)/Makefile.decl
+
+EXTRA_DIST += \
+ README.txt \
+ gtk+.sln \
+ gtk-build-defines.props \
+ gtk-gen-srcs.props \
+ gtk-install.props \
+ gtk-version-paths.props \
+ gdk-win32.vcxproj \
+ gdk-win32.vcxproj.filters \
+ gdk.vcxproj \
+ gdk.vcxproj.filters \
+ gtk.vcxproj \
+ gtk.vcxproj.filters \
+ gtk-demo.vcxproj \
+ gtk-demo.vcxproj.filters \
+ gailutil.vcxproj \
+ gailutil.vcxproj.filters \
+ libwimp.vcxproj \
+ libwimp.vcxproj.filters \
+ install.vcxproj
+
+DISTCLEANFILES = $(EXTRA_DIST)
+
+MSVC_SLN = gtk+
+
+MSVC_VER = 11
+
+MSVC_VER_LONG = 2012
+
+include $(top_srcdir)/build/Makefile-newvs.am
diff --git a/build/win32/vs12/Makefile.am b/build/win32/vs12/Makefile.am
new file mode 100644
index 0000000000..c572ece5ac
--- /dev/null
+++ b/build/win32/vs12/Makefile.am
@@ -0,0 +1,32 @@
+include $(top_srcdir)/Makefile.decl
+
+EXTRA_DIST += \
+ README.txt \
+ gtk+.sln \
+ gtk-build-defines.props \
+ gtk-gen-srcs.props \
+ gtk-install.props \
+ gtk-version-paths.props \
+ gdk-win32.vcxproj \
+ gdk-win32.vcxproj.filters \
+ gdk.vcxproj \
+ gdk.vcxproj.filters \
+ gtk.vcxproj \
+ gtk.vcxproj.filters \
+ gtk-demo.vcxproj \
+ gtk-demo.vcxproj.filters \
+ gailutil.vcxproj \
+ gailutil.vcxproj.filters \
+ libwimp.vcxproj \
+ libwimp.vcxproj.filters \
+ install.vcxproj
+
+DISTCLEANFILES = $(EXTRA_DIST)
+
+MSVC_SLN = gtk+
+
+MSVC_VER = 12
+
+MSVC_VER_LONG = 2013
+
+include $(top_srcdir)/build/Makefile-newvs.am
diff --git a/configure.ac b/configure.ac
index 9ebda4f54a..be3cf4c792 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1741,6 +1741,8 @@ build/Makefile
build/win32/Makefile
build/win32/vs9/Makefile
build/win32/vs10/Makefile
+build/win32/vs11/Makefile
+build/win32/vs12/Makefile
gdk/Makefile
gdk/x11/Makefile
gdk/win32/Makefile