[gdk-pixbuf] Visual Studio builds: Support Visual Studio 2017



commit af7745f6a03584f6302470ba7f8279596175d055
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Wed Feb 15 13:38:22 2017 +0800

    Visual Studio builds: Support Visual Studio 2017
    
    Update the autotools scripts so that we can support Visual Studio 2017 by
    copying the 2010 projects and updating items as necessary.
    
    Note that the toolset version format for 2017 has changed, so we now
    allow a custom string to be set and thus be used; otherwise the toolset
    version string is generated as it was before.
    
    Also note that Visual Studio 2017 aims to be compatible with Visual Studio
    2015 at the CRT level, meaning that one should be able to use 2017-compiled
    binaries with 2015-compiled binaries without problems.

 configure.ac            |    7 +++++++
 win32/Makefile-newvs.am |   25 +++++++++++++++++--------
 win32/Makefile.am       |    3 ++-
 win32/vs11/Makefile.am  |    1 -
 win32/vs12/Makefile.am  |    1 -
 win32/vs14/Makefile.am  |    1 -
 win32/vs15/Makefile.am  |   29 +++++++++++++++++++++++++++++
 7 files changed, 55 insertions(+), 12 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index c9a0bc3..491a9b5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1094,6 +1094,12 @@ if test "x$enable_relocations" = "xyes"; then
                   [Define to 1 to replace the build-time prefix in modules])
 fi
 
+##############################################
+# 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])
+
 ##################################################
 # Output commands
 ##################################################
@@ -1114,6 +1120,7 @@ win32/vs10/gdk-pixbuf-version-paths.props
 win32/vs11/Makefile
 win32/vs12/Makefile
 win32/vs14/Makefile
+win32/vs15/Makefile
 docs/Makefile
 docs/reference/Makefile
 docs/reference/gdk-pixbuf/Makefile
diff --git a/win32/Makefile-newvs.am b/win32/Makefile-newvs.am
index ecdf3b5..3a91862 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 6559879..a97609a 100644
--- a/win32/Makefile.am
+++ b/win32/Makefile.am
@@ -24,7 +24,8 @@ SUBDIRS =     \
        vs10    \
        vs11    \
        vs12    \
-       vs14
+       vs14    \
+       vs15
 
 EXTRA_DIST =   \
        detectenv-msvc.mak                      \
diff --git a/win32/vs11/Makefile.am b/win32/vs11/Makefile.am
index a3b57f6..153ca92 100644
--- a/win32/vs11/Makefile.am
+++ b/win32/vs11/Makefile.am
@@ -23,7 +23,6 @@ MSVC_BASE_VER = 10
 MSVC_BASE_VER_LONG = 2010
 MSVC_VER = 11
 MSVC_VER_LONG = 2012
-MSVC_FORMAT_VER = 12
 
 include $(top_srcdir)/win32/Makefile-newvs.am
 
diff --git a/win32/vs12/Makefile.am b/win32/vs12/Makefile.am
index 5ac1f4b..8a36389 100644
--- a/win32/vs12/Makefile.am
+++ b/win32/vs12/Makefile.am
@@ -22,7 +22,6 @@ MSVC_BASE_VER = 10
 MSVC_BASE_VER_LONG = 2010
 MSVC_VER = 12
 MSVC_VER_LONG = 2013
-MSVC_FORMAT_VER = 12
 
 include $(top_srcdir)/win32/Makefile-newvs.am
 
diff --git a/win32/vs14/Makefile.am b/win32/vs14/Makefile.am
index 0c2b901..0738fec 100644
--- a/win32/vs14/Makefile.am
+++ b/win32/vs14/Makefile.am
@@ -22,7 +22,6 @@ MSVC_BASE_VER = 10
 MSVC_BASE_VER_LONG = 2010
 MSVC_VER = 14
 MSVC_VER_LONG = 14
-MSVC_FORMAT_VER = 12
 
 include $(top_srcdir)/win32/Makefile-newvs.am
 
diff --git a/win32/vs15/Makefile.am b/win32/vs15/Makefile.am
new file mode 100644
index 0000000..119935e
--- /dev/null
+++ b/win32/vs15/Makefile.am
@@ -0,0 +1,29 @@
+EXTRA_DIST = \
+       README.txt      \
+       gdk-pixbuf.sln  \
+       gdk-pixbuf-version-paths.props  \
+       gdk-pixbuf-build-defines.props  \
+       gdk-pixbuf-gen-srcs.props       \
+       gdk-pixbuf-install.props         \
+       gdk-pixbuf.vcxproj      \
+       gdk-pixbuf.vcxproj.filters      \
+       gdk-pixbuf-csource.vcxproj      \
+       gdk-pixbuf-csource.vcxproj.filters      \
+       gdk-pixbuf-query-loaders.vcxproj         \
+       gdk-pixbuf-query-loaders.vcxproj.filters         \
+       gdk-pixbuf-pixdata.vcxproj      \
+       gdk-pixbuf-pixdata.vcxproj.filters      \
+       gdk-pixbuf-install.vcxproj              \
+       gdk-pixbuf-install.vcxproj.filters
+
+DISTCLEANFILES = $(EXTRA_DIST)
+
+MSVC_BASE_VER = 10
+MSVC_BASE_VER_LONG = 2010
+MSVC_VER = 15
+MSVC_VER_LONG = 15
+MSVC_TOOLSET = 141
+
+include $(top_srcdir)/win32/Makefile-newvs.am
+
+-include $(top_srcdir)/git.mk


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]