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.  This is being provided to help people still needing GTK+-2.x
and also to help them to transition to GTK+-3.x easier.

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.
This commit is contained in:
Chun-wei Fan 2014-07-01 16:39:32 +08:00
parent 6e9781c32b
commit 8e5f8440a6
5 changed files with 108 additions and 3 deletions

37
build/Makefile-newvs.am Normal file
View File

@ -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)/

View File

@ -1,5 +1,7 @@
include $(top_srcdir)/Makefile.decl
SUBDIRS = \
vs9 \
vs10
SUBDIRS = \
vs9 \
vs10 \
vs11 \
vs12

View File

@ -0,0 +1,32 @@
include $(top_srcdir)/Makefile.decl
EXTRA_DIST += \
README.txt \
gtk+.sln \
gtk-build-defines.props \
gtk-gen-srcs.props \
gtk-install.props \
gtk-version-paths.props \
gdk-win32.vcxproj \
gdk-win32.vcxproj.filters \
gdk.vcxproj \
gdk.vcxproj.filters \
gtk.vcxproj \
gtk.vcxproj.filters \
gtk-demo.vcxproj \
gtk-demo.vcxproj.filters \
gailutil.vcxproj \
gailutil.vcxproj.filters \
libwimp.vcxproj \
libwimp.vcxproj.filters \
install.vcxproj
DISTCLEANFILES = $(EXTRA_DIST)
MSVC_SLN = gtk+
MSVC_VER = 11
MSVC_VER_LONG = 2012
include $(top_srcdir)/build/Makefile-newvs.am

View File

@ -0,0 +1,32 @@
include $(top_srcdir)/Makefile.decl
EXTRA_DIST += \
README.txt \
gtk+.sln \
gtk-build-defines.props \
gtk-gen-srcs.props \
gtk-install.props \
gtk-version-paths.props \
gdk-win32.vcxproj \
gdk-win32.vcxproj.filters \
gdk.vcxproj \
gdk.vcxproj.filters \
gtk.vcxproj \
gtk.vcxproj.filters \
gtk-demo.vcxproj \
gtk-demo.vcxproj.filters \
gailutil.vcxproj \
gailutil.vcxproj.filters \
libwimp.vcxproj \
libwimp.vcxproj.filters \
install.vcxproj
DISTCLEANFILES = $(EXTRA_DIST)
MSVC_SLN = gtk+
MSVC_VER = 12
MSVC_VER_LONG = 2013
include $(top_srcdir)/build/Makefile-newvs.am

View File

@ -1741,6 +1741,8 @@ build/Makefile
build/win32/Makefile
build/win32/vs9/Makefile
build/win32/vs10/Makefile
build/win32/vs11/Makefile
build/win32/vs12/Makefile
gdk/Makefile
gdk/x11/Makefile
gdk/win32/Makefile