[gobject-introspection] Build: Provide Simple Support for MSVC 2012/2013



commit 4873213c426eccd1fa5cf67273bef9bd854354b5
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Tue Jul 1 19:01:30 2014 +0800

    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 |   52 ++++++++++++++++++++++++++++++++++++++++++
 build/win32/vs12/Makefile.am |   52 ++++++++++++++++++++++++++++++++++++++++++
 configure.ac                 |    4 ++-
 5 files changed, 149 insertions(+), 2 deletions(-)
---
diff --git a/build/Makefile-newvs.am b/build/Makefile-newvs.am
new file mode 100644
index 0000000..e63b15f
--- /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 0056ece..6f54b04 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 0000000..16a8e0a
--- /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 0000000..d3ea162
--- /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 3d714a1..a21b31c 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]