[gobject-introspection] Clean Up Visual Studio Project Generation
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gobject-introspection] Clean Up Visual Studio Project Generation
- Date: Fri, 25 Sep 2015 15:42:29 +0000 (UTC)
commit c34741e73e237501156cb0dd536fbef46c84adfa
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Thu Jul 30 14:35:16 2015 +0800
Clean Up Visual Studio Project Generation
This makes use of the common autotools modules that was just added so that
there would need to be less items in g-i's main Makefile-msvcproj.am, so that
we can generate the complete Visual Studio 2008/2010 project files (which
will then be used to obtain the Visual Studio 2012 and 2013 projects) and
the property sheets to "install" the built binaries and headers.
Makefile-msvcproj.am | 208 +++++++---------------------------
build/win32/vs10/Makefile.am | 20 +++-
build/win32/vs10/gi-install.propsin | 4 +-
build/win32/vs9/Makefile.am | 21 +++-
build/win32/vs9/gi-install.vspropsin | 5 +-
5 files changed, 79 insertions(+), 179 deletions(-)
---
diff --git a/Makefile-msvcproj.am b/Makefile-msvcproj.am
index cdfbd48..374dc14 100644
--- a/Makefile-msvcproj.am
+++ b/Makefile-msvcproj.am
@@ -1,131 +1,38 @@
# This is to fill in Visual C++ projects for projects which add/remove
# sources from them every now and then.
-# --------------------------
-# cmph (static lib) projects
-# --------------------------
-./build/win32/vs9/cmph.vcproj: $(top_srcdir)/build/win32/vs9/cmph.vcprojin
- for F in `echo $(libcmph_la_SOURCES) | tr '/' '\\\\'`; do \
- case $$F in \
- *.c) echo ' <File RelativePath="..\..\..\'$$F'" />' \
- ;; \
- esac; \
- done >cmph.sourcefiles
- $(CPP) -P - <$(top_srcdir)/build/win32/vs9/cmph.vcprojin >$@
- rm cmph.sourcefiles
-
-./build/win32/vs10/cmph.vcxproj: $(top_srcdir)/build/win32/vs10/cmph.vcxprojin
- for F in `echo $(libcmph_la_SOURCES) | tr '/' '\\\\'`; do \
- case $$F in \
- *.c) echo ' <ClCompile Include="..\..\..\'$$F'" />' \
- ;; \
- esac; \
- done >cmph.vs10.sourcefiles
- $(CPP) -P - <$(top_srcdir)/build/win32/vs10/cmph.vcxprojin >$@
- rm cmph.vs10.sourcefiles
-
-./build/win32/vs10/cmph.vcxproj.filters: $(top_srcdir)/build/win32/vs10/cmph.vcxproj.filtersin
- for F in `echo $(libcmph_la_SOURCES) | tr '/' '\\\\'`; do \
- case $$F in \
- *.c) echo ' <ClCompile Include="..\..\..\'$$F'"><Filter>Sources</Filter></ClCompile>' \
- ;; \
- esac; \
- done >cmph.vs10.sourcefiles.filters
- $(CPP) -P - <$(top_srcdir)/build/win32/vs10/cmph.vcxproj.filtersin >$@
- rm cmph.vs10.sourcefiles.filters
+MSVCPROJS = cmph girepository g-ir-compiler
+
+cmph_FILES = $(libcmph_la_SOURCES)
+cmph_EXCLUDES = dummy
+
+girepository_FILES = $(libgirepository_1_0_la_SOURCES) $(libgirepository_gthash_la_SOURCES)
+girepository_EXCLUDES = gidummy
+girepository_HEADERS_DIR = $(includedir)/gobject-introspection-1.0
+girepository_HEADERS_INST = $(girepo_HEADERS)
+girepository_HEADERS_EXCLUDES = gidummy
+
+g_ir_compiler_FILES = $(libgirepository_gthash_la_SOURCES) $(libgirepository_internals_la_SOURCES)
+g_ir_compiler_EXCLUDES = gidummy
+
+$(top_builddir)/build/win32/vs9/giscanner.scripts:
+ echo '' >>$(top_builddir)/build/win32/vs9/giscanner.scripts
+ echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner
'
$(top_builddir)/build/win32/vs9/giscanner.scripts
+ echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\collections
'
$(top_builddir)/build/win32/vs9/giscanner.scripts
+ echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates
'
$(top_builddir)/build/win32/vs9/giscanner.scripts
+ echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\C
'
$(top_builddir)/build/win32/vs9/giscanner.scripts
+ echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
'
$(top_builddir)/build/win32/vs9/giscanner.scripts
+ echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Python
'
$(top_builddir)/build/win32/vs9/giscanner.scripts
+ echo '' >>$(top_builddir)/build/win32/vs9/giscanner.scripts
+
+ echo '' >>$(top_builddir)/build/win32/vs10/giscanner.vs10.scripts
+ echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner'
$(top_builddir)/build/win32/vs10/giscanner.vs10.scripts
+ echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\collections'
$(top_builddir)/build/win32/vs10/giscanner.vs10.scripts
+ echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates'
$(top_builddir)/build/win32/vs10/giscanner.vs10.scripts
+ echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\C'
$(top_builddir)/build/win32/vs10/giscanner.vs10.scripts
+ echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs'
$(top_builddir)/build/win32/vs10/giscanner.vs10.scripts
+ echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Python'
$(top_builddir)/build/win32/vs10/giscanner.vs10.scripts
-# -------------------------
-# girepository DLL projects
-# -------------------------
-./build/win32/vs9/girepository.vcproj: $(top_srcdir)/build/win32/vs9/girepository.vcprojin
./build/win32/vs9/gir.vs9.install
- for F in `echo $(libgirepository_1_0_la_SOURCES) $(libgirepository_gthash_la_SOURCES) | tr '/'
'\\\\'`; do \
- case $$F in \
- *.c) echo ' <File RelativePath="..\..\..\'$$F'" />' \
- ;; \
- esac; \
- done >girepository.sourcefiles
- $(CPP) -P - <$(top_srcdir)/build/win32/vs9/girepository.vcprojin >$@
- rm girepository.sourcefiles
-
-./build/win32/vs10/girepository.vcxproj: $(top_srcdir)/build/win32/vs10/girepository.vcxprojin
./build/win32/vs10/gir.vs10.install
- for F in `echo $(libgirepository_1_0_la_SOURCES) $(libgirepository_gthash_la_SOURCES) | tr '/'
'\\\\'`; do \
- case $$F in \
- *.c) echo ' <ClCompile Include="..\..\..\'$$F'" />' \
- ;; \
- esac; \
- done >girepository.vs10.sourcefiles
- $(CPP) -P - <$(top_srcdir)/build/win32/vs10/girepository.vcxprojin >$@
- rm girepository.vs10.sourcefiles
-
-./build/win32/vs10/girepository.vcxproj.filters:
$(top_srcdir)/build/win32/vs10/girepository.vcxproj.filtersin
- for F in `echo $(libgirepository_1_0_la_SOURCES) $(libgirepository_gthash_la_SOURCES) | tr '/'
'\\\\'`; do \
- case $$F in \
- *.c) echo ' <ClCompile Include="..\..\..\'$$F'"><Filter>Sources</Filter></ClCompile>' \
- ;; \
- esac; \
- done >girepository.vs10.sourcefiles.filters
- $(CPP) -P - <$(top_srcdir)/build/win32/vs10/girepository.vcxproj.filtersin >$@
- rm girepository.vs10.sourcefiles.filters
-
-# ------------------------------------
-# g-ir-compiler.exe projects
-# (We integrate the
-# libgirepository_internals_la_SOURCES
-# and
-# libgirepository_gthash_la_SOURCES
-# here)
-# ------------------------------------
-./build/win32/vs9/g-ir-compiler.vcproj: $(top_srcdir)/build/win32/vs9/g-ir-compiler.vcprojin
- for F in `echo $(libgirepository_gthash_la_SOURCES) $(libgirepository_internals_la_SOURCES) | tr '/'
'\\\\'`; do \
- case $$F in \
- *.c) echo ' <File RelativePath="..\..\..\'$$F'" />' \
- ;; \
- esac; \
- done >g-ir-compiler.sourcefiles
- $(CPP) -P - <$(top_srcdir)/build/win32/vs9/g-ir-compiler.vcprojin >$@
- rm g-ir-compiler.sourcefiles
-
-./build/win32/vs10/g-ir-compiler.vcxproj: $(top_srcdir)/build/win32/vs10/g-ir-compiler.vcxprojin
- for F in `echo $(libgirepository_gthash_la_SOURCES) $(libgirepository_internals_la_SOURCES) | tr '/'
'\\\\'`; do \
- case $$F in \
- *.c) echo ' <ClCompile Include="..\..\..\'$$F'" />' \
- ;; \
- esac; \
- done >g-ir-compiler.vs10.sourcefiles
- $(CPP) -P - <$(top_srcdir)/build/win32/vs10/g-ir-compiler.vcxprojin >$@
- rm g-ir-compiler.vs10.sourcefiles
-
-./build/win32/vs10/g-ir-compiler.vcxproj.filters:
$(top_srcdir)/build/win32/vs10/g-ir-compiler.vcxproj.filtersin
- for F in `echo $(libgirepository_gthash_la_SOURCES) $(libgirepository_internals_la_SOURCES) | tr '/'
'\\\\'`; do \
- case $$F in \
- *.c) echo ' <ClCompile Include="..\..\..\'$$F'"><Filter>Sources</Filter></ClCompile>' \
- ;; \
- esac; \
- done >g-ir-compiler.vs10.sourcefiles.filters
- $(CPP) -P - <$(top_srcdir)/build/win32/vs10/g-ir-compiler.vcxproj.filtersin >$@
- rm g-ir-compiler.vs10.sourcefiles.filters
-
-#--------------------------------
-# Generate the "lists" of headers
-# and Python scripts to install
-#--------------------------------
-./build/win32/vs9/gir.vs9.install:
- echo 'mkdir $$(CopyDir)\include\gobject-introspection-$$(ApiVersion)\girepository
'
./build/win32/vs9/gir.vs9.install
- echo '' >>./build/win32/vs9/gir.vs9.install
- for F in `echo $(girepo_HEADERS) | tr '/' '\\\\'`; do \
- case $$F in \
- *.h) echo 'copy ..\..\..\'$$F'
$$(CopyDir)\include\gobject-introspection-$$(ApiVersion)\girepository
' \
- ;; \
- esac; \
- done >>./build/win32/vs9/gir.vs9.install
- echo '' >>./build/win32/vs9/gir.vs9.install
- echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner
'
./build/win32/vs9/gir.vs9.install
- echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\collections
'
./build/win32/vs9/gir.vs9.install
- echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates
'
./build/win32/vs9/gir.vs9.install
- echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\C
'
./build/win32/vs9/gir.vs9.install
- echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
'
./build/win32/vs9/gir.vs9.install
- echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Python
'
./build/win32/vs9/gir.vs9.install
- echo '' >>./build/win32/vs9/gir.vs9.install
for F in `echo $(pkgpyexec_PYTHON) $(collections_PYTHON) $(nobase_dist_template_DATA) | tr '/'
'\\\\'`; do \
case $$F in \
giscanner\\doctemplates\\C\\*.tmpl) echo 'copy ..\..\..\'$$F'
$$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\C
' \
@@ -141,25 +48,8 @@
giscanner\\*.py) echo 'copy ..\..\..\'$$F'
$$(CopyDir)\lib\gobject-introspection\giscanner
' \
;; \
esac; \
- done >>./build/win32/vs9/gir.vs9.install
+ done >>$(top_builddir)/build/win32/vs9/giscanner.scripts
-./build/win32/vs10/gir.vs10.install:
- echo 'mkdir $$(CopyDir)\include\gobject-introspection-$$(ApiVersion)\girepository'
./build/win32/vs10/gir.vs10.install
- echo '' >>./build/win32/vs10/gir.vs10.install
- for F in `echo $(girepo_HEADERS) | tr '/' '\\\\'`; do \
- case $$F in \
- *.h) echo 'copy ..\..\..\'$$F'
$$(CopyDir)\include\gobject-introspection-$$(ApiVersion)\girepository' && \
- echo '' \
- ;; \
- esac; \
- done >>./build/win32/vs10/gir.vs10.install
- echo '' >>./build/win32/vs10/gir.vs10.install
- echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\collections'
./build/win32/vs10/gir.vs10.install
- echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates'
./build/win32/vs10/gir.vs10.install
- echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\C'
./build/win32/vs10/gir.vs10.install
- echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs'
./build/win32/vs10/gir.vs10.install
- echo 'mkdir $$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Python'
./build/win32/vs10/gir.vs10.install
- echo '' >>./build/win32/vs10/gir.vs10.install
for F in `echo $(pkgpyexec_PYTHON) $(collections_PYTHON) $(nobase_dist_template_DATA) | tr '/'
'\\\\'`; do \
case $$F in \
giscanner\\doctemplates\\C\\*.tmpl) echo 'copy ..\..\..\'$$F'
$$(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\C' \
@@ -172,33 +62,21 @@
;; \
giscanner\\collections\\*.py) echo 'copy ..\..\..\'$$F'
$$(CopyDir)\lib\gobject-introspection\giscanner\collections' \
;; \
- giscanner\\*.py) echo 'copy ..\..\..\'$$F' $$(CopyDir)\lib\gobject-introspection\giscanner'
&& \
- echo '' \
+ giscanner\\*.py) echo 'copy ..\..\..\'$$F' $$(CopyDir)\lib\gobject-introspection\giscanner' \
;; \
esac; \
- done >>./build/win32/vs10/gir.vs10.install
+ done >>$(top_builddir)/build/win32/vs10/giscanner.vs10.scripts
-./build/win32/vs9/gi-install.vsprops: ./build/win32/vs9/gir.vs9.install
$(top_srcdir)/build/win32/vs9/gi-install.vspropsin
- $(CPP) -P - <$(top_srcdir)/build/win32/vs9/gi-install.vspropsin >$@
- rm ./build/win32/vs9/gir.vs9.install
+include $(top_srcdir)/build/Makefile.msvcproj
-./build/win32/vs10/gi-install.props: ./build/win32/vs10/gir.vs10.install
$(top_srcdir)/build/win32/vs10/gi-install.propsin
- $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gi-install.propsin >$@
- rm ./build/win32/vs10/gir.vs10.install
+# Autotools: Why must we do this instead of 'dist-hook'?
+MSVCPROJ_GENERATED = \
+ $(top_builddir)/build/win32/vs9/cmph.vcproj \
+ $(top_builddir)/build/win32/vs9/girepository.vcproj \
+ $(top_builddir)/build/win32/vs9/g-ir-compiler.vcproj
-GENERATED_MSVC_FILES = \
- ./build/win32/vs9/girepository.vcproj \
- ./build/win32/vs10/girepository.vcxproj \
- ./build/win32/vs10/girepository.vcxproj.filters \
- ./build/win32/vs9/g-ir-compiler.vcproj \
- ./build/win32/vs10/g-ir-compiler.vcxproj \
- ./build/win32/vs10/g-ir-compiler.vcxproj.filters \
- ./build/win32/vs9/cmph.vcproj \
- ./build/win32/vs10/cmph.vcxproj \
- ./build/win32/vs10/cmph.vcxproj.filters \
- config.h.win32
+$(MSVCPROJ_GENERATED): $(top_builddir)/build/win32/vs9/girepository.headers
$(top_builddir)/build/win32/vs9/giscanner.scripts
-EXTRA_DIST += \
- $(GENERATED_MSVC_FILES)
+EXTRA_DIST += $(MSVCPROJ_GENERATED) config.h.win32
-CLEANFILES += $(GENERATED_MSVC_FILES)
+DISTCLEANFILES = config.h.win32
diff --git a/build/win32/vs10/Makefile.am b/build/win32/vs10/Makefile.am
index d0d32ca..297224c 100644
--- a/build/win32/vs10/Makefile.am
+++ b/build/win32/vs10/Makefile.am
@@ -1,10 +1,18 @@
+GENERATED_ITEMS = \
+ cmph.vcxproj \
+ cmph.vcxproj.filters \
+ girepository.vcxproj \
+ girepository.vcxproj.filters \
+ g-ir-compiler.vcxproj \
+ g-ir-compiler.vcxproj.filters \
+ gi-install.props
+
EXTRA_DIST = \
gobject-introspection.sln \
gi-build-defines.props \
gi-extra-paths.props \
gi-gen-srcs.props \
gi-install.propsin \
- gi-install.props \
gi-version-paths.props \
gi-prebuild.vcxproj \
girepository.vcxprojin \
@@ -22,10 +30,12 @@ EXTRA_DIST = \
_giscanner.vcxproj \
_giscanner.vcxproj.filters \
install.vcxproj \
- README.txt
+ README.txt \
+ $(GENERATED_ITEMS)
-gi-install.props: $(top_srcdir)/build/win32/vs10/gi-install.propsin gir.vs10.install
+gi-install.props: $(top_srcdir)/build/win32/vs10/gi-install.propsin girepository.vs10.headers
giscanner.vs10.scripts
$(CPP) -P - <$(top_srcdir)/build/win32/vs10/gi-install.propsin >$@
- rm gir.vs10.install
+ rm girepository.vs10.headers
+ rm giscanner.vs10.scripts
-CLEANFILES = gi-install.props
+DISTCLEANFILES = $(GENERATED_ITEMS)
diff --git a/build/win32/vs10/gi-install.propsin b/build/win32/vs10/gi-install.propsin
index 6bdc997..bf2c0b7 100644
--- a/build/win32/vs10/gi-install.propsin
+++ b/build/win32/vs10/gi-install.propsin
@@ -24,7 +24,9 @@ copy ..\..\..\tools\g-ir-scanner $(CopyDir)\bin
copy $(BinDir)\glib-print.exe $(CopyDir)\bin
copy $(BinDir)\glib-print.pdb $(CopyDir)\bin
-#include "gir.vs10.install"
+mkdir $(CopyDir)\include\gobject-introspection-1.0\girepository
+#include "girepository.vs10.headers"
+#include "giscanner.vs10.scripts"
copy $(BinDir)\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner
copy $(BinDir)\_giscanner.pdb $(CopyDir)\lib\gobject-introspection\giscanner
diff --git a/build/win32/vs9/Makefile.am b/build/win32/vs9/Makefile.am
index 4fa1e76..0c5845d 100644
--- a/build/win32/vs9/Makefile.am
+++ b/build/win32/vs9/Makefile.am
@@ -1,24 +1,31 @@
+GENERATED_ITEMS = \
+ cmph.vcproj \
+ girepository.vcproj \
+ g-ir-compiler.vcproj \
+ gi-install.vsprops
+
EXTRA_DIST = \
gobject-introspection.sln \
gi-build-defines.vsprops \
gi-extra-paths.vsprops \
gi-gen-srcs.vsprops \
gi-install.vspropsin \
- gi-install.vsprops \
gi-version-paths.vsprops \
gi-prebuild.vcproj \
girepository.vcprojin \
- cmph-bdz-test.vcproj \
- cmph.vcprojin \
+ cmph-bdz-test.vcproj \
+ cmph.vcprojin \
g-ir-compiler.vcprojin \
g-ir-generate.vcproj \
glib-print.vcproj \
install.vcproj \
_giscanner.vcproj \
- README.txt
+ README.txt \
+ $(GENERATED_ITEMS)
-gi-install.vsprops: $(top_srcdir)/build/win32/vs9/gi-install.vspropsin gir.vs9.install
+gi-install.vsprops: $(top_srcdir)/build/win32/vs9/gi-install.vspropsin girepository.headers giscanner.scripts
$(CPP) -P - <$(top_srcdir)/build/win32/vs9/gi-install.vspropsin >$@
- rm gir.vs9.install
+ rm girepository.headers
+ rm giscanner.scripts
-CLEANFILES = gi-install.vsprops
+DISTCLEANFILES = $(GENERATED_ITEMS)
diff --git a/build/win32/vs9/gi-install.vspropsin b/build/win32/vs9/gi-install.vspropsin
index f7b4716..f47937a 100644
--- a/build/win32/vs9/gi-install.vspropsin
+++ b/build/win32/vs9/gi-install.vspropsin
@@ -23,7 +23,10 @@ copy ..\..\..\tools\g-ir-scanner $(CopyDir)\bin

copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\glib-print.exe $(CopyDir)\bin

copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\glib-print.pdb $(CopyDir)\bin

-#include "gir.vs9.install"
+mkdir $(CopyDir)\include\gobject-introspection-1.0\girepository

+#include "girepository.headers"
+#include "giscanner.scripts"
+
copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\_giscanner.pyd
$(CopyDir)\lib\gobject-introspection\giscanner

copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\_giscanner.pdb
$(CopyDir)\lib\gobject-introspection\giscanner

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