diff --git a/configure.ac b/configure.ac index c902f57084..8f41e77520 100644 --- a/configure.ac +++ b/configure.ac @@ -1969,6 +1969,12 @@ 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 @@ -2025,6 +2031,7 @@ win32/Makefile win32/vs12/Makefile win32/vs12/gtk4-version-paths.props win32/vs14/Makefile +win32/vs15/Makefile gdk/Makefile gdk/broadway/Makefile gdk/x11/Makefile diff --git a/win32/Makefile-newvs.am b/win32/Makefile-newvs.am index ecdf3b5568..3a91862b6d 100644 --- a/win32/Makefile-newvs.am +++ b/win32/Makefile-newvs.am @@ -8,14 +8,23 @@ # 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_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_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_BASE_TOOLSET: Use if baseline MSVC toolset is not in the form v$(MSVC_BASE_VER)0, meaning v$(MSVC_BASE_TOOLSET) +# 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)/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 +35,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_TOOLSET)/v$(MSVC_TOOLSET)/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_TOOLSET)/v$(MSVC_TOOLSET)/g' < $(top_builddir)/win32/vs$(MSVC_BASE_VER)/$@ > $(top_builddir)/win32/vs$(MSVC_VER)/$@; \ fi %.props: $(top_builddir)/win32/vs$(MSVC_BASE_VER)/Makefile diff --git a/win32/Makefile.am b/win32/Makefile.am index c1d0750b6c..987f2d8e88 100644 --- a/win32/Makefile.am +++ b/win32/Makefile.am @@ -35,7 +35,8 @@ gen-enums.bat: $(srcdir)/gen-enums.batin gsk.enum.headers SUBDIRS = \ vs12 \ - vs14 + vs14 \ + vs15 EXTRA_DIST += \ detectenv-msvc.mak \ diff --git a/win32/vs12/Makefile.am b/win32/vs12/Makefile.am index b6bf35ac7b..2535417f9f 100644 --- a/win32/vs12/Makefile.am +++ b/win32/vs12/Makefile.am @@ -64,6 +64,7 @@ DISTCLEANFILES = \ gtk4-install.props: $(top_srcdir)/win32/vs12/gtk4-install.propsin $(MSVC12_HEADERS_LISTS) -$(RM) $(top_builddir)/win32/vs14/gtk4-install.props + -$(RM) $(top_builddir)/win32/vs15/gtk4-install.props $(CPP) -P - <$(top_srcdir)/win32/vs12/gtk4-install.propsin >$@ rm $(MSVC12_HEADERS_LISTS) diff --git a/win32/vs14/Makefile.am b/win32/vs14/Makefile.am index d23b1477d5..82944b8170 100644 --- a/win32/vs14/Makefile.am +++ b/win32/vs14/Makefile.am @@ -39,7 +39,6 @@ DISTCLEANFILES = $(EXTRA_DIST) MSVC_BASE_VER = 12 MSVC_BASE_VER_LONG = 2013 MSVC_VER = 14 -MSVC_FORMAT_VER = 12 MSVC_VER_LONG = 14 include $(top_srcdir)/win32/Makefile-newvs.am diff --git a/win32/vs15/Makefile.am b/win32/vs15/Makefile.am new file mode 100644 index 0000000000..807427897c --- /dev/null +++ b/win32/vs15/Makefile.am @@ -0,0 +1,47 @@ +include $(top_srcdir)/Makefile.decl + +EXTRA_DIST += \ + README.txt \ + gtk+-4.sln \ + gtk4-prebuild.vcxproj \ + gtk4-prebuild.vcxproj.filters \ + gdk4-win32.vcxproj \ + gdk4-win32.vcxproj.filters \ + gdk-4.vcxproj \ + gdk-4.vcxproj.filters \ + gsk-4.vcxproj \ + gsk-4.vcxproj.filters \ + gtk-4.vcxproj \ + gtk-4.vcxproj.filters \ + gtk4-builder-tool.vcxproj \ + gtk4-builder-tool.vcxproj.filters \ + gtk4-encode-symbolic-svg.vcxproj \ + gtk4-encode-symbolic-svg.vcxproj.filters \ + gtk4-query-settings.vcxproj \ + gtk4-query-settings.vcxproj.filters \ + gtk4-update-icon-cache.vcxproj \ + gtk4-update-icon-cache.vcxproj.filters \ + gtk4-demo.vcxproj \ + gtk4-demo.vcxproj.filters \ + gtk4-demo-application.vcxproj \ + gtk4-demo-application.vcxproj.filters \ + gtk4-icon-browser.vcxproj \ + gtk4-icon-browser.vcxproj.filters \ + gtk4-install.vcxproj \ + gtk4-install.vcxproj.filters \ + gtk4-build-defines.props \ + gtk4-gen-srcs.props \ + gtk4-install.props \ + gtk4-version-paths.props + +DISTCLEANFILES = $(EXTRA_DIST) + +MSVC_BASE_VER = 12 +MSVC_BASE_VER_LONG = 2013 +MSVC_VER = 15 +MSVC_VER_LONG = 15 +MSVC_TOOLSET = 141 + +include $(top_srcdir)/win32/Makefile-newvs.am + +-include $(top_srcdir)/git.mk