[gtk+/gtk-3-22] build: Integrate introspection builds into MSVC projects



commit 09b7dc81a67f0dd3750c5c892730d48b360c266e
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Mon Aug 28 16:18:24 2017 +0800

    build: Integrate introspection builds into MSVC projects
    
    This is so that it is easier for one building GTK+ with Visual Studio to
    build the introspection files as well in one shot.  Note that this is
    not built by default, so one needs to select the gtk3-introspect
    explicitly to build (and clean up) the introspection files.
    
    For this to work, one needs to ensure the following:
    -A complete build of GObject-Introspection in $(GlibEtcInstallRoot),
     that is built with the same installation of the Python interpretor that
     is used here (see PythonDir and PythonDirX64 in
     gtk3-version-paths.[vsprops|props]).
    -Introspection files for ATK, GDK-Pixbuf and Pango, also in their proper
     locations under $(GlibEtcInstallRoot), which should be built with the
     same G-I installation.

 build/win32/vs10/Makefile.am                  |    1 +
 build/win32/vs10/README.txt                   |   15 ++++
 build/win32/vs10/gtk+.sln                     |   10 +++
 build/win32/vs10/gtk3-build-defines.props     |   12 +++-
 build/win32/vs10/gtk3-introspect.vcxproj      |  103 +++++++++++++++++++++++++
 build/win32/vs10/gtk3-version-paths.props.in  |    8 ++
 build/win32/vs11/Makefile.am                  |    1 +
 build/win32/vs12/Makefile.am                  |    1 +
 build/win32/vs14/Makefile.am                  |    1 +
 build/win32/vs15/Makefile.am                  |    1 +
 build/win32/vs9/Makefile.am                   |    1 +
 build/win32/vs9/README.txt                    |   15 ++++
 build/win32/vs9/gtk+.sln                      |   13 +++
 build/win32/vs9/gtk3-build-defines.vsprops    |    8 ++
 build/win32/vs9/gtk3-introspect.vcproj        |   76 ++++++++++++++++++
 build/win32/vs9/gtk3-version-paths.vsprops.in |    8 ++
 16 files changed, 273 insertions(+), 1 deletions(-)
---
diff --git a/build/win32/vs10/Makefile.am b/build/win32/vs10/Makefile.am
index cb2b2c9..f0ff275 100644
--- a/build/win32/vs10/Makefile.am
+++ b/build/win32/vs10/Makefile.am
@@ -62,6 +62,7 @@ EXTRA_DIST += \
        gailutil-3.vcxproj.filtersin            \
        gtk3-install.vcxproj                    \
        gtk3-install.vcxproj.filters            \
+       gtk3-introspect.vcxproj                 \
        gtk3-build-defines.props                \
        gtk3-copy-gdk-broadway.props            \
        gtk3-gen-srcs.props                     \
diff --git a/build/win32/vs10/README.txt b/build/win32/vs10/README.txt
index 13ae0e3..ef9c39c 100644
--- a/build/win32/vs10/README.txt
+++ b/build/win32/vs10/README.txt
@@ -81,6 +81,21 @@ built DLLs go into <root>\vs10\<PlatformName>\bin, built LIBs into
 project files higher in the stack are supposed to look for them, not
 from a specific GLib source tree.
 
+There is now a "gtk3-introspect" project that is used to build the
+introspection files.  In order for this to work, check that the paths for
+PythonDir (32-bit builds) and PythonDirX64 (x64 builds) are correct for your
+system.  Note that it must be the same Python installation that was used to
+build GObject-Introspection (G-I), and a complete G-I build/installation
+needs to be found in <root>\vs10\<PlatformName>\, with the introspection files
+for ATK, Pango and GDK-Pixbuf.  Note also that this is not built by default,
+so you will need to right-click on the project to build it, which will build
+and "install" the other projects that are normally built, if those were not yet
+built.  The introspection files that are built will be "installed" to
+<root>\vs10\<PlatformName>\share\gir-1.0 (the .gir file(s)) and
+<root>\vs10\<PlatformName>\lib\girepository-1.0 (the .typelib files(s)) upon
+successful build.  for building this in a different configuration, therefore,
+you will need to clean this project specifically and then rebuild.
+
 Please note, as GTK+ uses the Adwaita theme for all platforms by default,
 most icons used are not included with GTK+ (which *are* needed), so please see
 https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack (under the
diff --git a/build/win32/vs10/gtk+.sln b/build/win32/vs10/gtk+.sln
index 1e9a52e..841f723 100644
--- a/build/win32/vs10/gtk+.sln
+++ b/build/win32/vs10/gtk+.sln
@@ -30,6 +30,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk-query-settings", "gtk-q
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-install", "gtk3-install.vcxproj", 
"{23BBF35F-78AF-4E8C-983F-7B90448CD7DF}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-introspect", "gtk3-introspect.vcxproj", 
"{A8092C4E-0A21-4B1D-AC82-16764E418D1F}"
+EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
                Debug|Win32 = Debug|Win32
@@ -274,6 +276,14 @@ Global
                {9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|Win32.Build.0 = Release|Win32
                {9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|x64.ActiveCfg = Release|x64
                {9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|x64.Build.0 = Release|x64
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug|Win32.ActiveCfg = Debug|Win32
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug|x64.ActiveCfg = Debug|x64
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release|Win32.ActiveCfg = Release|Win32
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release|x64.ActiveCfg = Release|x64
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug_Broadway|x64.ActiveCfg = Debug|x64
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release_Broadway|Win32.ActiveCfg = Release|Win32
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release_Broadway|x64.ActiveCfg = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
diff --git a/build/win32/vs10/gtk3-build-defines.props b/build/win32/vs10/gtk3-build-defines.props
index d695642..091bb55 100644
--- a/build/win32/vs10/gtk3-build-defines.props
+++ b/build/win32/vs10/gtk3-build-defines.props
@@ -13,7 +13,11 @@
     <GtkGdkCommonLibs>imm32.lib</GtkGdkCommonLibs>
     <GdkAdditionalLibs>winmm.lib;dwmapi.lib;setupapi.lib;$(GtkGdkCommonLibs)</GdkAdditionalLibs>
     <GdkBroadwayAdditionalLibs>ws2_32.lib</GdkBroadwayAdditionalLibs>
-    
<GtkAdditionalLibs>atk-1.0.lib;pangowin32-1.0.lib;winspool.lib;comctl32.lib;$(GtkGdkCommonLibs)</GtkAdditionalLibs>
+    
<GtkAdditionalLibs>atk-1.0.lib;pango-1.0.lib;pangowin32-1.0.lib;winspool.lib;comctl32.lib;$(GtkGdkCommonLibs)</GtkAdditionalLibs>
+    <GtkIntrospectNMakeCmd>cd ..
+set VCInstallDir=$(VCInstallDir)
+nmake -f gtk-introspection-msvc.mak CFG=$(Configuration) PREFIX=$(GlibEtcInstallRoot)</GtkIntrospectNMakeCmd>
+    
<GtkIntrospectBuiltFiles>$(SolutionDir)\..\Gtk-3.0.gir;$(SolutionDir)\..\Gtk-3.0.typelib</GtkIntrospectBuiltFiles>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>gtk3builddefinesprops</_PropertySheetDisplayName>
@@ -64,5 +68,11 @@
     <BuildMacro Include="GtkAdditionalLibs">
       <Value>$(GtkAdditionalLibs)</Value>
     </BuildMacro>
+    <BuildMacro Include="GtkIntrospectNMakeCmd">
+      <Value>$(GtkIntrospectNMakeCmd)</Value>
+    </BuildMacro>
+    <BuildMacro Include="GtkIntrospectBuiltFiles">
+      <Value>$(GtkIntrospectBuiltFiles)</Value>
+    </BuildMacro>
   </ItemGroup>
 </Project>
diff --git a/build/win32/vs10/gtk3-introspect.vcxproj b/build/win32/vs10/gtk3-introspect.vcxproj
new file mode 100644
index 0000000..b02b33c
--- /dev/null
+++ b/build/win32/vs10/gtk3-introspect.vcxproj
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{A8092C4E-0A21-4B1D-AC82-16764E418D1F}</ProjectGuid>
+    <RootNamespace>gtk3introspect</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Makefile</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v100</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Makefile</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v100</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Makefile</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v100</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Makefile</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <PlatformToolset>v100</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gtk3-build-defines.props" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gtk3-build-defines.props" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gtk3-build-defines.props" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gtk3-build-defines.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) 
install-introspection</NMakeBuildCommandLine>
+    <NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean 
install-introspection</NMakeReBuildCommandLine>
+    <NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
+    <NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) 
install-introspection</NMakeBuildCommandLine>
+    <NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean 
install-introspection</NMakeReBuildCommandLine>
+    <NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
+    <NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) 
install-introspection</NMakeBuildCommandLine>
+    <NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean 
install-introspection</NMakeReBuildCommandLine>
+    <NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>
+    <NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) 
install-introspection</NMakeBuildCommandLine>
+    <NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean 
install-introspection</NMakeReBuildCommandLine>
+    <NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>
+    <NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
+  </PropertyGroup>
+  <ItemGroup>
+    <ProjectReference Include="gtk3-install.vcxproj">
+      <Project>{23bbf35f-78af-4e8c-983f-7b90448cd7df}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/gtk3-version-paths.props.in b/build/win32/vs10/gtk3-version-paths.props.in
index b5f7a09..fe306c4 100644
--- a/build/win32/vs10/gtk3-version-paths.props.in
+++ b/build/win32/vs10/gtk3-version-paths.props.in
@@ -18,6 +18,8 @@
     <PythonDir Condition="'$(VisualStudioVersion)' == '14.0'">c:\python36</PythonDir>
     <PythonDir Condition="'$(VisualStudioVersion)' == '15.0'">c:\python36</PythonDir>
     <PythonDirX64>$(PythonDir).x64</PythonDirX64>
+    <IntrospectPythonParam>PYTHON=$(PythonDir)\python.exe</IntrospectPythonParam>
+    <IntrospectPythonParamX64>PYTHON=$(PythonDirX64)\python.exe</IntrospectPythonParamX64>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>gtk3versionpathsprops</_PropertySheetDisplayName>
@@ -62,5 +64,11 @@
     <BuildMacro Include="PythonDirX64">
       <Value>$(PythonDirX64)</Value>
     </BuildMacro>
+    <BuildMacro Include="IntrospectPythonParam">
+      <Value>$(IntrospectPythonParam)</Value>
+    </BuildMacro>
+    <BuildMacro Include="IntrospectPythonParamX64">
+      <Value>$(IntrospectPythonParamX64)</Value>
+    </BuildMacro>
   </ItemGroup>
 </Project>
diff --git a/build/win32/vs11/Makefile.am b/build/win32/vs11/Makefile.am
index 3ced683..d81e885 100644
--- a/build/win32/vs11/Makefile.am
+++ b/build/win32/vs11/Makefile.am
@@ -29,6 +29,7 @@ EXTRA_DIST += \
        gailutil-3.vcxproj.filters      \
        gtk3-install.vcxproj    \
        gtk3-install.vcxproj.filters    \
+       gtk3-introspect.vcxproj         \
        broadwayd.vcxproj       \
        broadwayd.vcxproj.filters       \
        gdk3-broadway.vcxproj   \
diff --git a/build/win32/vs12/Makefile.am b/build/win32/vs12/Makefile.am
index 766ccd6..057aa5f 100644
--- a/build/win32/vs12/Makefile.am
+++ b/build/win32/vs12/Makefile.am
@@ -29,6 +29,7 @@ EXTRA_DIST += \
        gailutil-3.vcxproj.filters      \
        gtk3-install.vcxproj    \
        gtk3-install.vcxproj.filters    \
+       gtk3-introspect.vcxproj         \
        broadwayd.vcxproj       \
        broadwayd.vcxproj.filters       \
        gdk3-broadway.vcxproj   \
diff --git a/build/win32/vs14/Makefile.am b/build/win32/vs14/Makefile.am
index dfa6c32..67922fe 100644
--- a/build/win32/vs14/Makefile.am
+++ b/build/win32/vs14/Makefile.am
@@ -29,6 +29,7 @@ EXTRA_DIST += \
        gailutil-3.vcxproj.filters      \
        gtk3-install.vcxproj    \
        gtk3-install.vcxproj.filters    \
+       gtk3-introspect.vcxproj         \
        broadwayd.vcxproj       \
        broadwayd.vcxproj.filters       \
        gdk3-broadway.vcxproj   \
diff --git a/build/win32/vs15/Makefile.am b/build/win32/vs15/Makefile.am
index 6f62580..9164736 100644
--- a/build/win32/vs15/Makefile.am
+++ b/build/win32/vs15/Makefile.am
@@ -29,6 +29,7 @@ EXTRA_DIST += \
        gailutil-3.vcxproj.filters      \
        gtk3-install.vcxproj    \
        gtk3-install.vcxproj.filters    \
+       gtk3-introspect.vcxproj         \
        broadwayd.vcxproj       \
        broadwayd.vcxproj.filters       \
        gdk3-broadway.vcxproj   \
diff --git a/build/win32/vs9/Makefile.am b/build/win32/vs9/Makefile.am
index 4e31db7..39637f3 100644
--- a/build/win32/vs9/Makefile.am
+++ b/build/win32/vs9/Makefile.am
@@ -36,6 +36,7 @@ EXTRA_DIST += \
        gtk3-icon-browser.vcprojin      \
        gailutil-3.vcprojin             \
        gtk3-install.vcproj             \
+       gtk3-introspect.vcproj          \
        broadwayd.vcprojin              \
        gdk3-broadway.vcprojin          \
        gtk3-build-defines.vsprops      \
diff --git a/build/win32/vs9/README.txt b/build/win32/vs9/README.txt
index 7f83daa..f0b876c 100644
--- a/build/win32/vs9/README.txt
+++ b/build/win32/vs9/README.txt
@@ -80,6 +80,21 @@ built DLLs go into <root>\vs9\<PlatformName>\bin, built LIBs into
 project files higher in the stack are supposed to look for them, not
 from a specific GLib source tree.
 
+There is now a "gtk3-introspect" project that is used to build the
+introspection files.  In order for this to work, check that the paths for
+PythonDir (32-bit builds) and PythonDirX64 (x64 builds) are correct for your
+system.  Note that it must be the same Python installation that was used to
+build GObject-Introspection (G-I), and a complete G-I build/installation
+needs to be found in <root>\vs9\<PlatformName>\, with the introspection files
+for ATK, Pango and GDK-Pixbuf.  Note also that this is not built by default,
+so you will need to right-click on the project to build it, which will build
+and "install" the other projects that are normally built, if those were not yet
+built.  The introspection files that are built will be "installed" to
+<root>\vs9\<PlatformName>\share\gir-1.0 (the .gir file(s)) and
+<root>\vs9\<PlatformName>\lib\girepository-1.0 (the .typelib files(s)) upon
+successful build.  for building this in a different configuration, therefore,
+you will need to clean this project specifically and then rebuild.
+
 Please note, as GTK+ uses the Adwaita theme for all platforms by default,
 most icons used are not included with GTK+ (which *are* needed), so please see
 https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack (under the
diff --git a/build/win32/vs9/gtk+.sln b/build/win32/vs9/gtk+.sln
index be494e2..2ec6217 100644
--- a/build/win32/vs9/gtk+.sln
+++ b/build/win32/vs9/gtk+.sln
@@ -89,6 +89,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-install", "gtk3-instal
                {9F22107A-3EF7-4B52-B269-747B65307F36} = {9F22107A-3EF7-4B52-B269-747B65307F36}
        EndProjectSection
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-introspect", "gtk3-introspect.vcproj", 
"{A8092C4E-0A21-4B1D-AC82-16764E418D1F}"
+       ProjectSection(ProjectDependencies) = postProject
+               {23BBF35F-78AF-4E8C-983F-7B90448CD7DF} = {23BBF35F-78AF-4E8C-983F-7B90448CD7DF}
+       EndProjectSection
+EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
                Debug|Win32 = Debug|Win32
@@ -325,6 +330,14 @@ Global
                {9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|Win32.Build.0 = Release|Win32
                {9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|x64.ActiveCfg = Release|x64
                {9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|x64.Build.0 = Release|x64
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug|Win32.ActiveCfg = Debug|Win32
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug|x64.ActiveCfg = Debug|x64
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release|Win32.ActiveCfg = Release|Win32
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release|x64.ActiveCfg = Release|x64
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug_Broadway|x64.ActiveCfg = Debug|x64
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release_Broadway|Win32.ActiveCfg = Release|Win32
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release_Broadway|x64.ActiveCfg = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
diff --git a/build/win32/vs9/gtk3-build-defines.vsprops b/build/win32/vs9/gtk3-build-defines.vsprops
index 4bade71..ab77577 100644
--- a/build/win32/vs9/gtk3-build-defines.vsprops
+++ b/build/win32/vs9/gtk3-build-defines.vsprops
@@ -59,4 +59,12 @@
                Name="GtkAdditionalLibs"
                Value="atk-1.0.lib pangowin32-1.0.lib winspool.lib comctl32.lib $(GtkGdkCommonLibs)"
        />
+       <UserMacro
+               Name="GtkIntrospectNMakeCmd"
+               Value="cd ..&#x0D;&#x0A;set VCInstallDir=$(VCInstallDir)&#x0D;&#x0A;nmake -f 
gtk-introspection-msvc.mak CFG=$(ConfigurationName) PREFIX=$(GlibEtcInstallRoot)"
+       />
+       <UserMacro
+               Name="GtkIntrospectBuiltFiles"
+               
Value="$(SolutionDir)\..\Gtk-3.0.gir;$(SolutionDir)\..\Gtk-3.0.typelib;$(SolutionDir)\..\GdkWin32-3.0.gir;$(SolutionDir)\..\GdkWin32-3.0.typelib;$(SolutionDir)\..\Gdk-3.0.gir;$(SolutionDir)\..\Gdk-3.0.typelib"
+       />
 </VisualStudioPropertySheet>
diff --git a/build/win32/vs9/gtk3-introspect.vcproj b/build/win32/vs9/gtk3-introspect.vcproj
new file mode 100644
index 0000000..91e1b1d
--- /dev/null
+++ b/build/win32/vs9/gtk3-introspect.vcproj
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+       ProjectType="Visual C++"
+       Version="9.00"
+       Name="gtk3-introspect"
+       ProjectGUID="{A8092C4E-0A21-4B1D-AC82-16764E418D1F}"
+       Keyword="MakeFileProj"
+       TargetFrameworkVersion="196613"
+       >
+       <Platforms>
+               <Platform
+                       Name="Win32"
+               />
+               <Platform
+                       Name="x64"
+               />
+       </Platforms>
+       <ToolFiles>
+       </ToolFiles>
+       <Configurations>
+               <Configuration
+                       Name="Debug|Win32"
+                       ConfigurationType="0"
+                       InheritedPropertySheets=".\gtk3-build-defines.vsprops"
+                       >
+                       <Tool
+                               Name="VCNMakeTool"
+                               BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) 
install-introspection"
+                               ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean 
install-introspection"
+                               CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean"
+                               Output="$(GtkIntrospectBuiltFiles)"
+                       />
+               </Configuration>
+               <Configuration
+                       Name="Debug|x64"
+                       ConfigurationType="0"
+                       InheritedPropertySheets=".\gtk3-build-defines.vsprops"
+                       >
+                       <Tool
+                               Name="VCNMakeTool"
+                               BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) 
install-introspection"
+                               ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) 
clean install-introspection"
+                               CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean"
+                               Output="$(GtkIntrospectBuiltFiles)"
+                       />
+               </Configuration>
+               <Configuration
+                       Name="Release|Win32"
+                       ConfigurationType="0"
+                       InheritedPropertySheets=".\gtk3-build-defines.vsprops"
+                       CharacterSet="2"
+                       DeleteExtensionsOnClean=""
+                       >
+                       <Tool
+                               Name="VCNMakeTool"
+                               BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) 
install-introspection"
+                               ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean 
install-introspection"
+                               CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean"
+                               Output="$(GtkIntrospectBuiltFiles)"
+                       />
+               </Configuration>
+               <Configuration
+                       Name="Release|x64"
+                       ConfigurationType="0"
+                       InheritedPropertySheets=".\gtk3-build-defines.vsprops"
+                       >
+                       <Tool
+                               Name="VCNMakeTool"
+                               BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) 
install-introspection"
+                               ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) 
clean install-introspection"
+                               CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean"
+                               Output="$(GtkIntrospectBuiltFiles)"
+                       />
+               </Configuration>
+       </Configurations>
+</VisualStudioProject>
diff --git a/build/win32/vs9/gtk3-version-paths.vsprops.in b/build/win32/vs9/gtk3-version-paths.vsprops.in
index 90b03be..3024bb2 100644
--- a/build/win32/vs9/gtk3-version-paths.vsprops.in
+++ b/build/win32/vs9/gtk3-version-paths.vsprops.in
@@ -58,4 +58,12 @@
                Name="PythonDirX64"
                Value="$(PythonDir).x64"
        />
+       <UserMacro
+               Name="IntrospectPythonParam"
+               Value="PYTHON=$(PythonDir)\python.exe"
+       />
+       <UserMacro
+               Name="IntrospectPythonParamX64"
+               Value="PYTHON=$(PythonDirX64)\python.exe"
+       />
 </VisualStudioPropertySheet>


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