summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2014-07-01 16:12:06 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2014-07-01 16:12:06 +0800
commit2f1ef02ecb4446ae176f6b8c8426ef5ee956117f (patch)
tree3bcd4947d2c017fc20f24b2cca3cd57b8149c922
parenta215b076e1896cd2bd5f11d0ec90ed0c0c6690ed (diff)
downloadgdk-pixbuf-2f1ef02ecb4446ae176f6b8c8426ef5ee956117f.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. 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.am28
-rw-r--r--build/win32/vs12/Makefile.am28
-rw-r--r--configure.ac2
5 files changed, 100 insertions, 3 deletions
diff --git a/build/Makefile-newvs.am b/build/Makefile-newvs.am
new file mode 100644
index 000000000..e63b15f76
--- /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 f18e14c6a..cd43acbf7 100644
--- a/build/win32/Makefile.am
+++ b/build/win32/Makefile.am
@@ -1,5 +1,7 @@
-SUBDIRS = \
- vs9 \
- vs10
+SUBDIRS = \
+ vs9 \
+ vs10 \
+ vs11 \
+ vs12
-include $(top_srcdir)/git.mk
diff --git a/build/win32/vs11/Makefile.am b/build/win32/vs11/Makefile.am
new file mode 100644
index 000000000..2cf3c55c9
--- /dev/null
+++ b/build/win32/vs11/Makefile.am
@@ -0,0 +1,28 @@
+EXTRA_DIST = \
+ README.txt \
+ gdk-pixbuf.sln \
+ gdk-pixbuf-version-paths.props \
+ gdk-pixbuf-build-defines.props \
+ gdk-pixbuf-gen-srcs.props \
+ gdk-pixbuf-install.props \
+ gdk-pixbuf.vcxproj \
+ gdk-pixbuf.vcxproj.filters \
+ gdk-pixbuf-csource.vcxproj \
+ gdk-pixbuf-csource.vcxproj.filters \
+ gdk-pixbuf-query-loaders.vcxproj \
+ gdk-pixbuf-query-loaders.vcxproj.filters \
+ gdk-pixbuf-pixdata.vcxproj \
+ gdk-pixbuf-pixdata.vcxproj.filters \
+ install.vcxproj
+
+DISTCLEANFILES = $(EXTRA_DIST)
+
+MSVC_SLN = gdk-pixbuf
+
+MSVC_VER = 11
+
+MSVC_VER_LONG = 2012
+
+include $(top_srcdir)/build/Makefile-newvs.am
+
+-include $(top_srcdir)/git.mk
diff --git a/build/win32/vs12/Makefile.am b/build/win32/vs12/Makefile.am
new file mode 100644
index 000000000..de3f4688b
--- /dev/null
+++ b/build/win32/vs12/Makefile.am
@@ -0,0 +1,28 @@
+EXTRA_DIST = \
+ README.txt \
+ gdk-pixbuf.sln \
+ gdk-pixbuf-version-paths.props \
+ gdk-pixbuf-build-defines.props \
+ gdk-pixbuf-gen-srcs.props \
+ gdk-pixbuf-install.props \
+ gdk-pixbuf.vcxproj \
+ gdk-pixbuf.vcxproj.filters \
+ gdk-pixbuf-csource.vcxproj \
+ gdk-pixbuf-csource.vcxproj.filters \
+ gdk-pixbuf-query-loaders.vcxproj \
+ gdk-pixbuf-query-loaders.vcxproj.filters \
+ gdk-pixbuf-pixdata.vcxproj \
+ gdk-pixbuf-pixdata.vcxproj.filters \
+ install.vcxproj
+
+DISTCLEANFILES = $(EXTRA_DIST)
+
+MSVC_SLN = gdk-pixbuf
+
+MSVC_VER = 12
+
+MSVC_VER_LONG = 2013
+
+include $(top_srcdir)/build/Makefile-newvs.am
+
+-include $(top_srcdir)/git.mk
diff --git a/configure.ac b/configure.ac
index 53b39ec8e..a68d509af 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1081,6 +1081,8 @@ build/Makefile
build/win32/Makefile
build/win32/vs9/Makefile
build/win32/vs10/Makefile
+build/win32/vs11/Makefile
+build/win32/vs12/Makefile
docs/Makefile
docs/reference/Makefile
docs/reference/gdk-pixbuf/Makefile