From 1f33b36cd14b4993dc06d8c0726a3dcf55fd140a Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Wed, 26 Oct 2016 12:49:08 +0800 Subject: [PATCH] build/Makefile.msvcproj: Add rules for MSVC 2013 to be the baseline version We are starting to require C99 features that can only be supported in Visual Studio 2013 and later, so we need to prepare rules for Visual Studio 2013 to be our baseline version for Visual Studio builds, so that we can move the templates from Visual Studio 2010 to Visual Studio 2013. As this strives to be a shared autotools module between projects, there is duplication at this point, though, because we still want to support 2008~2012 for projects that do not yet require the C99 features and depends on GLib-2.50.x/GTK+-3.22.x or earlier. --- build/Makefile.msvcproj | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/build/Makefile.msvcproj b/build/Makefile.msvcproj index f127eea51..2a2dd89ab 100644 --- a/build/Makefile.msvcproj +++ b/build/Makefile.msvcproj @@ -109,6 +109,39 @@ $(top_builddir)/build/win32/vs9/$(1).headers: Makefile esac; \ done +$(top_builddir)/build/win32/vs12/$(1).vcxproj.filters: $(top_builddir)/build/win32/vs12/$(1).vcxproj + +$(top_builddir)/build/win32/vs12/$(1).vcxproj: Makefile + -$(RM) $(top_builddir)/build/win32/vs14/$(1).vcxproj + -$(RM) $(top_builddir)/build/win32/vs14/$(1).vcxproj.filters + + for F in $(_proj_files); do \ + case $$$$F in \ + $(_proj_filters)) \ + ;; \ + *.c|*.cpp|*.cc|*.cxx) \ + echo ' ' >>$(1).vs12.sourcefiles && \ + echo ' Source Files' >>$(1).vs12.sourcefiles.filters \ + ;; \ + esac; \ + done + + $(CPP) -P - <$(top_srcdir)/build/win32/vs12/$(1).vcxprojin >$(top_builddir)/build/win32/vs12/$(1).vcxproj + $(CPP) -P - <$(top_srcdir)/build/win32/vs12/$(1).vcxproj.filtersin >$(top_builddir)/build/win32/vs12/$(1).vcxproj.filters + +$(top_builddir)/build/win32/vs12/$(1).vs12.headers: Makefile + -$(RM) $(top_builddir)/build/win32/vs12/$(1).vs12.headers + + for F in $(_proj_headers); do \ + case $$$$F in \ + $(_proj_headers_excludes)) \ + ;; \ + *.h|*.hpp|*.hh|*.hxx) \ + echo 'copy ..\..\..'$(_proj_subdir)$$$$F' $$$$(CopyDir)\include'$(_headers_destdir)'\'$$$$F >>$(top_builddir)/build/win32/vs12/$(1).vs12.headers \ + ;; \ + esac; \ + done + endef $(foreach proj,$(MSVCPROJS),$(eval $(call msvcproj-builder,$(proj))))