summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2014-07-01 13:46:46 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2014-07-01 13:46:46 +0800
commite895f9e56353448842c333a37a3f92f9b58e79f0 (patch)
tree5c0c88935a862d93e5cd1e01698fc5ab724ef425
parent33b83516e17a6a34265d036f9e02b272cd1b436a (diff)
downloadpango-e895f9e56353448842c333a37a3f92f9b58e79f0.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.am6
-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, 1 deletions
diff --git a/build/Makefile-newvs.am b/build/Makefile-newvs.am
new file mode 100644
index 00000000..04d2405c
--- /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/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/vs$(MSVC_VER)/
+
+
diff --git a/build/win32/Makefile.am b/build/win32/Makefile.am
index 9071df60..87d10002 100644
--- a/build/win32/Makefile.am
+++ b/build/win32/Makefile.am
@@ -1,4 +1,8 @@
-SUBDIRS = vs9 vs10
+SUBDIRS = \
+ vs9 \
+ vs10 \
+ vs11 \
+ vs12
EXTRA_DIST = \
unistd.h
diff --git a/build/win32/vs11/Makefile.am b/build/win32/vs11/Makefile.am
new file mode 100644
index 00000000..735604dd
--- /dev/null
+++ b/build/win32/vs11/Makefile.am
@@ -0,0 +1,28 @@
+EXTRA_DIST = \
+ pango.sln \
+ pango-build-defines.props \
+ pango-ignore-fc.props \
+ pango-install-bin.props \
+ pango-install.props \
+ pango-prebuild.props \
+ pango-version-paths.props \
+ pango.vcxproj \
+ pango.vcxproj.filters \
+ pangoft2.vcxproj \
+ pangoft2.vcxproj.filters \
+ pangowin32.vcxproj \
+ pangowin32.vcxproj.filters \
+ pangocairo.vcxproj \
+ pangocairo.vcxproj.filters \
+ install.vcxproj \
+ README.txt
+
+DISTCLEANFILES = $(EXTRA_DIST)
+
+MSVC_SLN = pango
+
+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 00000000..15e954f3
--- /dev/null
+++ b/build/win32/vs12/Makefile.am
@@ -0,0 +1,28 @@
+EXTRA_DIST = \
+ pango.sln \
+ pango-build-defines.props \
+ pango-ignore-fc.props \
+ pango-install-bin.props \
+ pango-install.props \
+ pango-prebuild.props \
+ pango-version-paths.props \
+ pango.vcxproj \
+ pango.vcxproj.filters \
+ pangoft2.vcxproj \
+ pangoft2.vcxproj.filters \
+ pangowin32.vcxproj \
+ pangowin32.vcxproj.filters \
+ pangocairo.vcxproj \
+ pangocairo.vcxproj.filters \
+ install.vcxproj \
+ README.txt
+
+DISTCLEANFILES = $(EXTRA_DIST)
+
+MSVC_SLN = pango
+
+MSVC_VER = 12
+
+MSVC_VER_LONG = 2013
+
+include $(top_srcdir)/build/Makefile-newvs.am
diff --git a/configure.ac b/configure.ac
index 6ac45e9a..34e64a5c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -954,6 +954,8 @@ build/Makefile
build/win32/Makefile
build/win32/vs9/Makefile
build/win32/vs10/Makefile
+build/win32/vs11/Makefile
+build/win32/vs12/Makefile
pango.pc
pangowin32.pc
pangoft2.pc