diff --git a/build/Makefile-newvs.am b/build/Makefile-newvs.am index b5e321607..81611776e 100644 --- a/build/Makefile-newvs.am +++ b/build/Makefile-newvs.am @@ -9,9 +9,17 @@ # Author: Fan, Chun-wei # November 05, 2012 -# 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_LONG: Long Version of target Visual Studio (2012, 2013, 14 and so on) +# MSVC_VER: Short Version of target Visual Studio (110 for 2012, 120 for 2013, 140 for 2015, 141 for 2017) +# MSVC_TOOLSET: Use if target MSVC toolsett is not in the form v $(MSVC_VER)0, meaning v$(MSVC_TOOLSET) + +if MSVC_BASE_NO_TOOLSET_SET +MSVC_BASE_TOOLSET = $(MSVC_BASE_VER)0 +endif + +if MSVC_NO_TOOLSET_SET +MSVC_TOOLSET = $(MSVC_VER)0 +endif %.sln: sed 's/11\.00/$(MSVC_FORMAT_VER)\.00/g' < $(top_srcdir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@.tmp @@ -25,9 +33,9 @@ %.vcxproj: if test -e $(top_srcdir)/build/win32/vs10/$@; then \ - sed 's/v100/v$(MSVC_VER)0/g' < $(top_srcdir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@; \ + sed 's/v100/v$(MSVC_TOOLSET)/g' < $(top_srcdir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@; \ else \ - sed 's/v100/v$(MSVC_VER)0/g' < $(top_builddir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@; \ + sed 's/v100/v$(MSVC_TOOLSET)/g' < $(top_builddir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@; \ fi %.props: $(top_builddir)/build/win32/vs10/Makefile diff --git a/build/win32/Makefile.am b/build/win32/Makefile.am index 5c2dac8ed..0f93ac25d 100644 --- a/build/win32/Makefile.am +++ b/build/win32/Makefile.am @@ -4,7 +4,8 @@ SUBDIRS = \ vs10 \ vs11 \ vs12 \ - vs14 + vs14 \ + vs15 EXTRA_DIST = \ glibpc.py \ diff --git a/build/win32/vs15/Makefile.am b/build/win32/vs15/Makefile.am new file mode 100644 index 000000000..7b2d28cea --- /dev/null +++ b/build/win32/vs15/Makefile.am @@ -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_VER = 15 +MSVC_FORMAT_VER = 12 +MSVC_VER_LONG = 15 +MSVC_TOOLSET = 141 + +include $(top_srcdir)/build/Makefile-newvs.am diff --git a/configure.ac b/configure.ac index da2c306e5..97420f1f5 100644 --- a/configure.ac +++ b/configure.ac @@ -3278,6 +3278,10 @@ AM_CONDITIONAL(HAVE_DBUS1, [test "x$have_dbus1" = "xyes"]) AC_CHECK_PROGS([DBUS_DAEMON], [dbus-daemon]) AM_CONDITIONAL([HAVE_DBUS_DAEMON], [test x$DBUS_DAEMON = xdbus-daemon ]) +# Check whether MSVC toolset is explicitly set +AM_CONDITIONAL(MSVC_BASE_NO_TOOLSET_SET, [test x$MSVC_BASE_TOOLSET = x]) +AM_CONDITIONAL(MSVC_NO_TOOLSET_SET, [test x$MSVC_TOOLSET = x]) + dnl dnl Check for -Bsymbolic-functions linker flag used to avoid dnl intra-library PLT jumps, if available. @@ -3441,6 +3445,7 @@ build/win32/vs10/glib-version-paths.props build/win32/vs11/Makefile build/win32/vs12/Makefile build/win32/vs14/Makefile +build/win32/vs15/Makefile glib/Makefile glib/libcharset/Makefile glib/gnulib/Makefile