From e895f9e56353448842c333a37a3f92f9b58e79f0 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Tue, 1 Jul 2014 13:46:46 +0800 Subject: 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. --- build/Makefile-newvs.am | 37 +++++++++++++++++++++++++++++++++++++ build/win32/Makefile.am | 6 +++++- build/win32/vs11/Makefile.am | 28 ++++++++++++++++++++++++++++ build/win32/vs12/Makefile.am | 28 ++++++++++++++++++++++++++++ configure.ac | 2 ++ 5 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 build/Makefile-newvs.am create mode 100644 build/win32/vs11/Makefile.am create mode 100644 build/win32/vs12/Makefile.am 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 -- cgit v1.2.1