diff --git a/build/Makefile-msvcproj.mak b/build/Makefile-msvcproj.mak new file mode 100644 index 000000000..6640a709a --- /dev/null +++ b/build/Makefile-msvcproj.mak @@ -0,0 +1,56 @@ +# Centralized autotools file +# To create the Visual C++ projects +# from the templates +# Author: Fan, Chun-wei +# August 30, 2012 + +# Required Items to call this: +# MSVC_PROJECT: name of project +# MSVC_PROJECT_SRCDIR: subdir of source tree where sources for this project is found +# MSVC_PROJECT_SRCS: source files to build +# MSVC_PROJECT_EXCLUDES: source files to exclude from MSVC_PROJECT_SRCS, use dummy if none, +# wildcards (*) are allowed, seperated by | +# DISTCLEANFILES: Define an empty one if not previously defined + +# Create the complete Visual C++ 2008/2010 project files + +$(top_builddir)/build/win32/vs9/$(MSVC_PROJECT).vcproj: $(top_srcdir)/build/win32/vs9/$(MSVC_PROJECT).vcprojin + for F in `echo $(MSVC_PROJECT_SRCS) | sed 's/\.\///g' | tr '/' '\\'`; do \ + case $$F in \ + $(MSVC_PROJECT_EXCLUDES)) \ + ;; \ + *.c) echo ' ' \ + ;; \ + esac; \ + done | sort -u >$(MSVC_PROJECT).sourcefiles + $(CPP) -P - <$(top_srcdir)/build/win32/vs9/$(MSVC_PROJECT).vcprojin >$@ + rm $(MSVC_PROJECT).sourcefiles + +$(top_builddir)/build/win32/vs10/$(MSVC_PROJECT).vcxproj: $(top_srcdir)/build/win32/vs10/$(MSVC_PROJECT).vcxprojin + for F in `echo $(MSVC_PROJECT_SRCS) | sed 's/\.\///g' | tr '/' '\\'`; do \ + case $$F in \ + $(MSVC_PROJECT_EXCLUDES)) \ + ;; \ + *.c) echo ' ' \ + ;; \ + esac; \ + done | sort -u >$(MSVC_PROJECT).vs10.sourcefiles + $(CPP) -P - <$(top_srcdir)/build/win32/vs10/$(MSVC_PROJECT).vcxprojin >$@ + rm $(MSVC_PROJECT).vs10.sourcefiles + +$(top_builddir)/build/win32/vs10/$(MSVC_PROJECT).vcxproj.filters: $(top_srcdir)/build/win32/vs10/$(MSVC_PROJECT).vcxproj.filtersin + for F in `echo $(MSVC_PROJECT_SRCS) | sed 's/\.\///g' | tr '/' '\\'`; do \ + case $$F in \ + $(MSVC_PROJECT_EXCLUDES)) \ + ;; \ + *.c) echo ' Source Files' \ + ;; \ + esac; \ + done | sort -u >$(MSVC_PROJECT).vs10.sourcefiles.filters + $(CPP) -P - <$(top_srcdir)/build/win32/vs10/$(MSVC_PROJECT).vcxproj.filtersin >$@ + rm $(MSVC_PROJECT).vs10.sourcefiles.filters + +DISTCLEANFILES += \ + $(top_builddir)/build/win32/vs9/$(MSVC_PROJECT).vcproj \ + $(top_builddir)/build/win32/vs10/$(MSVC_PROJECT).vcxproj \ + $(top_builddir)/build/win32/vs10/$(MSVC_PROJECT).vcxproj.filters diff --git a/build/win32/vs10/Makefile.am b/build/win32/vs10/Makefile.am index bfc0d66a1..b54bae633 100644 --- a/build/win32/vs10/Makefile.am +++ b/build/win32/vs10/Makefile.am @@ -4,8 +4,12 @@ EXTRA_DIST = \ cogl.props \ cogl.vcxproj \ cogl.vcxprojin \ - cogl.vcxproj.filters \ - cogl.vcxproj.filtersin \ + cogl.vcxproj.filters \ + cogl.vcxproj.filtersin \ + cogl-path.vcxproj \ + cogl-path.vcxprojin \ + cogl-path.vcxproj.filters \ + cogl-path.vcxproj.filtersin \ cogl-pango.vcxproj \ cogl-pango.vcxprojin \ cogl-pango.vcxproj.filters \ diff --git a/build/win32/vs9/Makefile.am b/build/win32/vs9/Makefile.am index 96b0a06ee..0e93a3b67 100644 --- a/build/win32/vs9/Makefile.am +++ b/build/win32/vs9/Makefile.am @@ -4,6 +4,8 @@ EXTRA_DIST = \ cogl.vsprops \ cogl.vcproj \ cogl.vcprojin \ + cogl-path.vcproj \ + cogl-path.vcprojin \ cogl-pango.vcproj \ cogl-pango.vcprojin \ test-conformance-cogl.vcproj \ diff --git a/cogl-path/Makefile.am b/cogl-path/Makefile.am index 49558c067..8212a507a 100644 --- a/cogl-path/Makefile.am +++ b/cogl-path/Makefile.am @@ -91,3 +91,15 @@ cogl_pathheaders_HEADERS = $(source_h) if USE_GLIB nodist_cogl_pathheaders_HEADERS = cogl-path-enum-types.h endif + +dist-hook: \ + $(top_builddir)/build/win32/vs9/cogl-path.vcproj \ + $(top_builddir)/build/win32/vs10/cogl-path.vcxproj \ + $(top_builddir)/build/win32/vs10/cogl-path.vcxproj.filters + +MSVC_PROJECT = cogl-path +MSVC_PROJECT_SRCDIR = cogl-path +MSVC_PROJECT_SRCS = $(source_c) +MSVC_PROJECT_EXCLUDES = dummy + +include $(top_srcdir)/build/Makefile-msvcproj.mak