summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2014-07-01 19:01:30 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2014-07-01 19:01:30 +0800
commit4873213c426eccd1fa5cf67273bef9bd854354b5 (patch)
treeb7876025614a2be8b4041933a80432d9553135bb
parent47a5883d4ce7dfed2943525716781ddeceeaa145 (diff)
downloadgobject-introspection-4873213c426eccd1fa5cf67273bef9bd854354b5.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.am52
-rw-r--r--build/win32/vs12/Makefile.am52
-rw-r--r--configure.ac4
5 files changed, 149 insertions, 2 deletions
diff --git a/build/Makefile-newvs.am b/build/Makefile-newvs.am
new file mode 100644
index 00000000..e63b15f7
--- /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 0056ece1..6f54b041 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 = \
annotation.def \
diff --git a/build/win32/vs11/Makefile.am b/build/win32/vs11/Makefile.am
new file mode 100644
index 00000000..16a8e0a2
--- /dev/null
+++ b/build/win32/vs11/Makefile.am
@@ -0,0 +1,52 @@
+EXTRA_DIST = \
+ gobject-introspection.sln \
+ gi-build-defines.props \
+ gi-extra-paths.props \
+ gi-gen-srcs.props \
+ gi-install.props \
+ gi-version-paths.props \
+ gi-prebuild.vcxproj \
+ girepository.vcxproj \
+ girepository.vcxproj.filters \
+ annotation.vcxproj \
+ annotation.vcxproj.filters \
+ cmph-bdz-test.vcxproj \
+ cmph-bdz-test.vcxproj.filters \
+ cmph.vcxproj \
+ cmph.vcxproj.filters \
+ foo.vcxproj \
+ foo.vcxproj.filters \
+ g-ir-compiler.vcxproj \
+ g-ir-compiler.vcxproj.filters \
+ g-ir-generate.vcxproj \
+ g-ir-generate.vcxproj.filters \
+ gettype.vcxproj \
+ gettype.vcxproj.filters \
+ gimarshallingtests.vcxproj \
+ gimarshallingtests.vcxproj.filters \
+ glib-print.vcxproj \
+ glib-print.vcxproj.filters \
+ gtkfrob.vcxproj \
+ gtkfrob.vcxproj.filters \
+ regress.vcxproj \
+ regress.vcxproj.filters \
+ sletter.vcxproj \
+ sletter.vcxproj.filters \
+ testinherit.vcxproj \
+ testinherit.vcxproj.filters \
+ utility.vcxproj \
+ utility.vcxproj.filters \
+ _giscanner.vcxproj \
+ _giscanner.vcxproj.filters \
+ install.vcxproj \
+ README.txt
+
+DISTCLEANFILES = $(EXTRA_DIST)
+
+MSVC_SLN = gobject-introspection
+
+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..d3ea1628
--- /dev/null
+++ b/build/win32/vs12/Makefile.am
@@ -0,0 +1,52 @@
+EXTRA_DIST = \
+ gobject-introspection.sln \
+ gi-build-defines.props \
+ gi-extra-paths.props \
+ gi-gen-srcs.props \
+ gi-install.props \
+ gi-version-paths.props \
+ gi-prebuild.vcxproj \
+ girepository.vcxproj \
+ girepository.vcxproj.filters \
+ annotation.vcxproj \
+ annotation.vcxproj.filters \
+ cmph-bdz-test.vcxproj \
+ cmph-bdz-test.vcxproj.filters \
+ cmph.vcxproj \
+ cmph.vcxproj.filters \
+ foo.vcxproj \
+ foo.vcxproj.filters \
+ g-ir-compiler.vcxproj \
+ g-ir-compiler.vcxproj.filters \
+ g-ir-generate.vcxproj \
+ g-ir-generate.vcxproj.filters \
+ gettype.vcxproj \
+ gettype.vcxproj.filters \
+ gimarshallingtests.vcxproj \
+ gimarshallingtests.vcxproj.filters \
+ glib-print.vcxproj \
+ glib-print.vcxproj.filters \
+ gtkfrob.vcxproj \
+ gtkfrob.vcxproj.filters \
+ regress.vcxproj \
+ regress.vcxproj.filters \
+ sletter.vcxproj \
+ sletter.vcxproj.filters \
+ testinherit.vcxproj \
+ testinherit.vcxproj.filters \
+ utility.vcxproj \
+ utility.vcxproj.filters \
+ _giscanner.vcxproj \
+ _giscanner.vcxproj.filters \
+ install.vcxproj \
+ README.txt
+
+DISTCLEANFILES = $(EXTRA_DIST)
+
+MSVC_SLN = gobject-introspection
+
+MSVC_VER = 12
+
+MSVC_VER_LONG = 2013
+
+include $(top_srcdir)/build/Makefile-newvs.am
diff --git a/configure.ac b/configure.ac
index 3d714a1e..a21b31cd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -331,5 +331,7 @@ config.h.win32
build/Makefile
build/win32/Makefile
build/win32/vs9/Makefile
-build/win32/vs10/Makefile])
+build/win32/vs10/Makefile
+build/win32/vs11/Makefile
+build/win32/vs12/Makefile])
AC_OUTPUT