diff --git a/build/Makefile-newvs.am b/build/Makefile-newvs.am index b5e321607e..81611776e2 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 e1253dab6b..7ccefa0765 100644 --- a/build/win32/Makefile.am +++ b/build/win32/Makefile.am @@ -31,7 +31,8 @@ SUBDIRS = \ vs10 \ vs11 \ vs12 \ - vs14 + vs14 \ + vs15 EXTRA_DIST += \ detectenv-msvc.mak \ diff --git a/build/win32/vs10/Makefile.am b/build/win32/vs10/Makefile.am index da07766998..cb2b2c9e11 100644 --- a/build/win32/vs10/Makefile.am +++ b/build/win32/vs10/Makefile.am @@ -77,6 +77,7 @@ gtk3-install.props: $(top_srcdir)/build/win32/vs10/gtk3-install.propsin $(MSVC10 -$(RM) $(top_builddir)/build/win32/vs11/gtk3-install.props -$(RM) $(top_builddir)/build/win32/vs12/gtk3-install.props -$(RM) $(top_builddir)/build/win32/vs14/gtk3-install.props + -$(RM) $(top_builddir)/build/win32/vs15/gtk3-install.props $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gtk3-install.propsin >$@ rm $(MSVC10_HEADERS_LISTS) diff --git a/build/win32/vs15/Makefile.am b/build/win32/vs15/Makefile.am new file mode 100644 index 0000000000..6f62580230 --- /dev/null +++ b/build/win32/vs15/Makefile.am @@ -0,0 +1,52 @@ +include $(top_srcdir)/Makefile.decl + +EXTRA_DIST += \ + README.txt \ + gtk+.sln \ + gtk3-prebuild.vcxproj \ + gtk3-prebuild.vcxproj.filters \ + gdk3-win32.vcxproj \ + gdk3-win32.vcxproj.filters \ + gdk-3.vcxproj \ + gdk-3.vcxproj.filters \ + gtk-3.vcxproj \ + gtk-3.vcxproj.filters \ + gtk-builder-tool.vcxproj \ + gtk-builder-tool.vcxproj.filters \ + gtk-encode-symbolic-svg.vcxproj \ + gtk-encode-symbolic-svg.vcxproj.filters \ + gtk-query-settings.vcxproj \ + gtk-query-settings.vcxproj.filters \ + gtk-update-icon-cache.vcxproj \ + gtk-update-icon-cache.vcxproj.filters \ + gtk3-demo.vcxproj \ + gtk3-demo.vcxproj.filters \ + gtk3-demo-application.vcxproj \ + gtk3-demo-application.vcxproj.filters \ + gtk3-icon-browser.vcxproj \ + gtk3-icon-browser.vcxproj.filters \ + gailutil-3.vcxproj \ + gailutil-3.vcxproj.filters \ + gtk3-install.vcxproj \ + gtk3-install.vcxproj.filters \ + broadwayd.vcxproj \ + broadwayd.vcxproj.filters \ + gdk3-broadway.vcxproj \ + gdk3-broadway.vcxproj.filters \ + gtk3-build-defines.props \ + gtk3-copy-gdk-broadway.props \ + gtk3-gen-srcs.props \ + gtk3-ignore-broadway.props \ + gtk3-install.props \ + gtk3-version-paths.props + +DISTCLEANFILES = $(EXTRA_DIST) + +MSVC_VER = 15 +MSVC_VER_LONG = 15 +MSVC_TOOLSET = 141 +MSVC_FORMAT_VER = 12 + +include $(top_srcdir)/build/Makefile-newvs.am + +-include $(top_srcdir)/git.mk diff --git a/configure.ac b/configure.ac index e72ab77121..837cd1fed3 100644 --- a/configure.ac +++ b/configure.ac @@ -1885,6 +1885,13 @@ if test "x${enable_Bsymbolic}" = "xyes" ; then fi AC_SUBST(GTK_LINK_FLAGS) +dnl +dnl Check whether MSVC toolset is explicitly set +dnl + +AM_CONDITIONAL(MSVC_BASE_NO_TOOLSET_SET, [test x$MSVC_BASE_TOOLSET = x]) +AM_CONDITIONAL(MSVC_NO_TOOLSET_SET, [test x$MSVC_TOOLSET = x]) + AC_CONFIG_FILES([ README INSTALL @@ -1947,6 +1954,7 @@ build/win32/vs10/gtk3-version-paths.props build/win32/vs11/Makefile build/win32/vs12/Makefile build/win32/vs14/Makefile +build/win32/vs15/Makefile gdk/Makefile gdk/broadway/Makefile gdk/x11/Makefile