Visual Studio builds: Add support for Visual Studio 2017

This adds support for Visual Studio 2017 by updating the autotools files for
copying and updating the Visual Studio 2010 project files.

Since the toolset version of Visual Studio 2017 is no longer in the form
of $(MSVC_VER_SHORT)0, we need to specify the full number, but this is a
rather simple change we have here.  Note that Visual Studio 2017's CRT
aims to be compatible with the 2015's CRT, so it should be possible to
use 2017-compiled code with the 2015-compiled ones.
This commit is contained in:
Chun-wei Fan 2017-02-15 10:32:30 +08:00
parent 79c08255be
commit 0baaac786e
7 changed files with 62 additions and 16 deletions

View File

@ -3442,6 +3442,7 @@ win32/vs10/glib-version-paths.props
win32/vs11/Makefile
win32/vs12/Makefile
win32/vs14/Makefile
win32/vs15/Makefile
glib/Makefile
glib/libcharset/Makefile
glib/gnulib/Makefile

View File

@ -8,14 +8,13 @@
# Author: Fan, Chun-wei
# November 05, 2012
# MSVC_BASE_VER: Baseline MSVC 201x version to copy/process project files from (10 for 2010, 11 for 2012, 12 for 2013, 14 for 2015 and so on)
# MSVC_BASE_VER_LONG: Long Version of baseline Visual Studio 201x version (2010, 2012, 2013, 14 and so on)
# MSVC_BASE_VER: Baseline MSVC 201x version to copy/process project files from (100 for 2010, 120 for 2013)
# MSVC_BASE_VER_LONG: Long Version of baseline Visual Studio 201x version (2010, 2012, 2013, 14, 15)
# MSVC_VER_LONG: Long Version of Visual Studio (2012, 2013, 14 and so on)
# MSVC_VER: Short Version of Visual Studio (11 for 2012, 12 for 2013, 14 for 2015 and so on)
# MSVC_FORMAT_VER: Use 12 for MSVC 2012 through 2015
# MSVC_VER: Short Version of Visual Studio (110 for 2012, 120 for 2013, 140 for 2015, 141 for 2017)
%.sln:
sed 's/11\.00/$(MSVC_FORMAT_VER)\.00/g' < $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@ > $(top_builddir)/win32/vs$(MSVC_VER)/$@.tmp
sed 's/11\.00/12\.00/g' < $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@ > $(top_builddir)/win32/vs$(MSVC_VER)/$@.tmp
sed 's/$(MSVC_BASE_VER_LONG)/$(MSVC_VER_LONG)/g' < $(top_builddir)/win32/vs$(MSVC_VER)/$@.tmp > $(top_builddir)/win32/vs$(MSVC_VER)/$@
rm $(top_builddir)/win32/vs$(MSVC_VER)/$@.tmp
@ -26,9 +25,9 @@
%.vcxproj:
if test -e $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@; then \
sed 's/v$(MSVC_BASE_VER)0/v$(MSVC_VER)0/g' < $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@ > $(top_builddir)/win32/vs$(MSVC_VER)/$@; \
sed 's/v$(MSVC_BASE_VER)/v$(MSVC_VER)/g' < $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@ > $(top_builddir)/win32/vs$(MSVC_VER)/$@; \
else \
sed 's/v$(MSVC_BASE_VER)0/v$(MSVC_VER)0/g' < $(top_builddir)/win32/vs$(MSVC_BASE_VER)/$@ > $(top_builddir)/win32/vs$(MSVC_VER)/$@; \
sed 's/v$(MSVC_BASE_VER)/v$(MSVC_VER)/g' < $(top_builddir)/win32/vs$(MSVC_BASE_VER)/$@ > $(top_builddir)/win32/vs$(MSVC_VER)/$@; \
fi
%.props: $(top_builddir)/win32/vs$(MSVC_BASE_VER)/Makefile

View File

@ -61,6 +61,7 @@ glib-install.props: $(top_srcdir)/win32/vs10/glib-install.propsin $(MSVC10_HEADE
-$(RM) $(top_builddir)/win32/vs11/glib-install.props
-$(RM) $(top_builddir)/win32/vs12/glib-install.props
-$(RM) $(top_builddir)/win32/vs14/glib-install.props
-$(RM) $(top_builddir)/win32/vs15/glib-install.props
$(CPP) -P - <$(top_srcdir)/win32/vs10/glib-install.propsin >$@
rm $(MSVC10_HEADERS_LIST)

View File

@ -40,10 +40,9 @@ EXTRA_DIST = \
DISTCLEANFILES = $(EXTRA_DIST)
MSVC_BASE_VER = 10
MSVC_BASE_VER = 100
MSVC_BASE_VER_LONG = 2010
MSVC_VER = 11
MSVC_FORMAT_VER = 12
MSVC_VER = 110
MSVC_VER_LONG = 2012
include $(top_srcdir)/win32/Makefile-newvs.am

View File

@ -40,10 +40,9 @@ EXTRA_DIST = \
DISTCLEANFILES = $(EXTRA_DIST)
MSVC_BASE_VER = 10
MSVC_BASE_VER = 100
MSVC_BASE_VER_LONG = 2010
MSVC_VER = 12
MSVC_FORMAT_VER = 12
MSVC_VER = 120
MSVC_VER_LONG = 2013
include $(top_srcdir)/win32/Makefile-newvs.am

View File

@ -40,10 +40,9 @@ EXTRA_DIST = \
DISTCLEANFILES = $(EXTRA_DIST)
MSVC_BASE_VER = 10
MSVC_BASE_VER = 100
MSVC_BASE_VER_LONG = 2010
MSVC_VER = 14
MSVC_FORMAT_VER = 12
MSVC_VER = 140
MSVC_VER_LONG = 14
include $(top_srcdir)/win32/Makefile-newvs.am

48
win32/vs15/Makefile.am Normal file
View File

@ -0,0 +1,48 @@
EXTRA_DIST = \
README.txt \
glib.sln \
glib.vcxproj \
glib.vcxproj.filters \
glib-genmarshal.vcxproj \
glib-genmarshal.vcxproj.filters \
gspawn-win32-helper-console.vcxproj \
gspawn-win32-helper-console.vcxproj.filters \
gspawn-win32-helper.vcxproj \
gspawn-win32-helper.vcxproj.filters \
gmodule.vcxproj \
gmodule.vcxproj.filters \
gobject.vcxproj \
gobject.vcxproj.filters \
gthread.vcxproj \
gthread.vcxproj.filters \
gio.vcxproj \
gio.vcxproj.filters \
glib-compile-schemas.vcxproj \
glib-compile-schemas.vcxproj.filters \
gsettings.vcxproj \
gsettings.vcxproj.filters \
glib-compile-resources.vcxproj \
glib-compile-resources.vcxproj.filters \
gio-tool.vcxproj \
gio-tool.vcxproj.filters \
gresource.vcxproj \
gresource.vcxproj.filters \
gio-querymodules.vcxproj \
gio-querymodules.vcxproj.filters \
gdbus.vcxproj \
gdbus.vcxproj.filters \
glib-install.vcxproj \
glib-install.vcxproj.filters \
glib-build-defines.props \
glib-install.props \
glib-version-paths.props \
glib-gen-srcs.props
DISTCLEANFILES = $(EXTRA_DIST)
MSVC_BASE_VER = 100
MSVC_BASE_VER_LONG = 2010
MSVC_VER = 141
MSVC_VER_LONG = 15
include $(top_srcdir)/win32/Makefile-newvs.am