Add Autotools Items to Complete the Cogl-Path MSVC Projects

This adds a centralized autotools Makefile to be used in the completion
of the project files for Cogl-Path for now, which can be used also in
Cogl, Cogl-Pango and possibly Cogl-Gst so that we could have less clutter
in the autotools files.

This patch set will also allow the Cogl-Path project files to be filled in
during 'make dist' and make them distributed during a tarball release.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
(cherry picked from commit 491020592b)

Conflicts:
	cogl-path/Makefile.am
This commit is contained in:
Chun-wei Fan 2013-08-27 17:55:39 +08:00 committed by Neil Roberts
parent a849ecae1b
commit 08fecbaa84
4 changed files with 76 additions and 2 deletions

View File

@ -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 ' <File RelativePath="..\..\..\$(MSVC_PROJECT_SRCDIR)\'$$F'" />' \
;; \
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 ' <ClCompile Include="..\..\..\$(MSVC_PROJECT_SRCDIR)\'$$F'" />' \
;; \
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 ' <ClCompile Include="..\..\..\$(MSVC_PROJECT_SRCDIR)\'$$F'"><Filter>Source Files</Filter></ClCompile>' \
;; \
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

View File

@ -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 \

View File

@ -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 \

View File

@ -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