build: Integrate introspection builds into MSVC projects
authorChun-wei Fan <fanchunwei@src.gnome.org>
Mon, 28 Aug 2017 08:18:24 +0000 (16:18 +0800)
committerChun-wei Fan <fanchunwei@src.gnome.org>
Mon, 28 Aug 2017 08:18:24 +0000 (16:18 +0800)
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.

16 files changed:
build/win32/vs10/Makefile.am
build/win32/vs10/README.txt
build/win32/vs10/gtk+.sln
build/win32/vs10/gtk3-build-defines.props
build/win32/vs10/gtk3-introspect.vcxproj [new file with mode: 0644]
build/win32/vs10/gtk3-version-paths.props.in
build/win32/vs11/Makefile.am
build/win32/vs12/Makefile.am
build/win32/vs14/Makefile.am
build/win32/vs15/Makefile.am
build/win32/vs9/Makefile.am
build/win32/vs9/README.txt
build/win32/vs9/gtk+.sln
build/win32/vs9/gtk3-build-defines.vsprops
build/win32/vs9/gtk3-introspect.vcproj [new file with mode: 0644]
build/win32/vs9/gtk3-version-paths.vsprops.in

index cb2b2c9e11356aa51407c2940271adba6fd22c43..f0ff2756f97746cb9b90d7727bfc4a8dcf0df178 100644 (file)
@@ -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                     \
index 13ae0e3c5bb3da6911503b9cc26ec0c755b8bab6..ef9c39c34f7eb147a4fd41cf894a9220649037ba 100644 (file)
@@ -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\r
 from a specific GLib source tree.\r
 \r
+There is now a "gtk3-introspect" project that is used to build the\r
+introspection files.  In order for this to work, check that the paths for\r
+PythonDir (32-bit builds) and PythonDirX64 (x64 builds) are correct for your\r
+system.  Note that it must be the same Python installation that was used to\r
+build GObject-Introspection (G-I), and a complete G-I build/installation\r
+needs to be found in <root>\vs10\<PlatformName>\, with the introspection files\r
+for ATK, Pango and GDK-Pixbuf.  Note also that this is not built by default,\r
+so you will need to right-click on the project to build it, which will build\r
+and "install" the other projects that are normally built, if those were not yet\r
+built.  The introspection files that are built will be "installed" to\r
+<root>\vs10\<PlatformName>\share\gir-1.0 (the .gir file(s)) and\r
+<root>\vs10\<PlatformName>\lib\girepository-1.0 (the .typelib files(s)) upon\r
+successful build.  for building this in a different configuration, therefore,\r
+you will need to clean this project specifically and then rebuild.\r
+\r
 Please note, as GTK+ uses the Adwaita theme for all platforms by default,\r
 most icons used are not included with GTK+ (which *are* needed), so please see\r
 https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack (under the\r
index 1e9a52e035c1a3463ae15a77df7288dcf089464e..841f7233bbfc6e44e75ba75557ad21ce01803798 100644 (file)
@@ -30,6 +30,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk-query-settings", "gtk-q
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-install", "gtk3-install.vcxproj", "{23BBF35F-78AF-4E8C-983F-7B90448CD7DF}"
 EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-introspect", "gtk3-introspect.vcxproj", "{A8092C4E-0A21-4B1D-AC82-16764E418D1F}"\r
+EndProject\r
 Global\r
        GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
                Debug|Win32 = Debug|Win32\r
@@ -274,6 +276,14 @@ Global
                {9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|Win32.Build.0 = Release|Win32\r
                {9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|x64.ActiveCfg = Release|x64\r
                {9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|x64.Build.0 = Release|x64\r
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug|x64.ActiveCfg = Debug|x64\r
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release|Win32.ActiveCfg = Release|Win32\r
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release|x64.ActiveCfg = Release|x64\r
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32\r
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug_Broadway|x64.ActiveCfg = Debug|x64\r
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release_Broadway|Win32.ActiveCfg = Release|Win32\r
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release_Broadway|x64.ActiveCfg = Release|x64\r
        EndGlobalSection\r
        GlobalSection(SolutionProperties) = preSolution\r
                HideSolutionNode = FALSE\r
index d695642cb4be48e00b8e910549438a270e5961c8..091bb5589bef151178be216b00b3bf9c25ffe211 100644 (file)
     <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>
     <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 (file)
index 0000000..b02b33c
--- /dev/null
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <ItemGroup Label="ProjectConfigurations">\r
+    <ProjectConfiguration Include="Debug|Win32">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release|Win32">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Debug|x64">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release|x64">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
+  </ItemGroup>\r
+  <PropertyGroup Label="Globals">\r
+    <ProjectGuid>{A8092C4E-0A21-4B1D-AC82-16764E418D1F}</ProjectGuid>\r
+    <RootNamespace>gtk3introspect</RootNamespace>\r
+  </PropertyGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <UseDebugLibraries>true</UseDebugLibraries>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <PlatformToolset>v100</PlatformToolset>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <UseDebugLibraries>false</UseDebugLibraries>\r
+    <WholeProgramOptimization>true</WholeProgramOptimization>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <PlatformToolset>v100</PlatformToolset>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <PlatformToolset>v100</PlatformToolset>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <WholeProgramOptimization>true</WholeProgramOptimization>\r
+    <PlatformToolset>v100</PlatformToolset>\r
+  </PropertyGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+  <ImportGroup Label="ExtensionSettings">\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gtk3-build-defines.props" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gtk3-build-defines.props" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gtk3-build-defines.props" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gtk3-build-defines.props" />\r
+  </ImportGroup>\r
+  <PropertyGroup Label="UserMacros" />\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) install-introspection</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean install-introspection</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) install-introspection</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean install-introspection</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+    <NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) install-introspection</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean install-introspection</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+    <NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) install-introspection</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean install-introspection</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="gtk3-install.vcxproj">\r
+      <Project>{23bbf35f-78af-4e8c-983f-7b90448cd7df}</Project>\r
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+  <ImportGroup Label="ExtensionTargets">\r
+  </ImportGroup>\r
+</Project>
\ No newline at end of file
index b5f7a098e9a3bff26c2585656783c64c49b552a2..fe306c4682be14f114bd664eb871232e787ec10f 100644 (file)
@@ -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>
     <BuildMacro Include="PythonDirX64">
       <Value>$(PythonDirX64)</Value>
     </BuildMacro>
+    <BuildMacro Include="IntrospectPythonParam">
+      <Value>$(IntrospectPythonParam)</Value>
+    </BuildMacro>
+    <BuildMacro Include="IntrospectPythonParamX64">
+      <Value>$(IntrospectPythonParamX64)</Value>
+    </BuildMacro>
   </ItemGroup>
 </Project>
index 3ced683539cd13a96b751dc14caab8cb8c206585..d81e8853711d4399ed80b317508192309aa4faea 100644 (file)
@@ -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   \
index 766ccd69f5c2e50765131c1723ff6d4c554fbbd6..057aa5ff65e356986f5e70605eadb3b1ff10165f 100644 (file)
@@ -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   \
index dfa6c328e2fff2cf77f78e194ec70f7646752094..67922fe7ac71dfef512c30f924fb2a70bd09f6b2 100644 (file)
@@ -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   \
index 6f62580230968a9b36f420ca2e2125af0798606b..9164736cf517edc6f49e4915318ac331b1330e45 100644 (file)
@@ -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   \
index 4e31db7b9f738ef4ff83d9367840d21d68f26719..39637f3a6d40ed454a44fec899f4a002adb7c447 100644 (file)
@@ -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      \
index 7f83daaeea5138f8c25873775586b34df0e2a049..f0b876cc7bb4406720aaae09c826c5cf17e74ed1 100644 (file)
@@ -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\r
 from a specific GLib source tree.\r
 \r
+There is now a "gtk3-introspect" project that is used to build the\r
+introspection files.  In order for this to work, check that the paths for\r
+PythonDir (32-bit builds) and PythonDirX64 (x64 builds) are correct for your\r
+system.  Note that it must be the same Python installation that was used to\r
+build GObject-Introspection (G-I), and a complete G-I build/installation\r
+needs to be found in <root>\vs9\<PlatformName>\, with the introspection files\r
+for ATK, Pango and GDK-Pixbuf.  Note also that this is not built by default,\r
+so you will need to right-click on the project to build it, which will build\r
+and "install" the other projects that are normally built, if those were not yet\r
+built.  The introspection files that are built will be "installed" to\r
+<root>\vs9\<PlatformName>\share\gir-1.0 (the .gir file(s)) and\r
+<root>\vs9\<PlatformName>\lib\girepository-1.0 (the .typelib files(s)) upon\r
+successful build.  for building this in a different configuration, therefore,\r
+you will need to clean this project specifically and then rebuild.\r
+\r
 Please note, as GTK+ uses the Adwaita theme for all platforms by default,\r
 most icons used are not included with GTK+ (which *are* needed), so please see\r
 https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack (under the\r
index be494e2acbbf654cb4f62c9453763235250ec080..2ec62173341d2eacf03dbf276405aa170f9650ea 100644 (file)
@@ -89,6 +89,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-install", "gtk3-instal
                {9F22107A-3EF7-4B52-B269-747B65307F36} = {9F22107A-3EF7-4B52-B269-747B65307F36}\r
        EndProjectSection\r
 EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-introspect", "gtk3-introspect.vcproj", "{A8092C4E-0A21-4B1D-AC82-16764E418D1F}"\r
+       ProjectSection(ProjectDependencies) = postProject\r
+               {23BBF35F-78AF-4E8C-983F-7B90448CD7DF} = {23BBF35F-78AF-4E8C-983F-7B90448CD7DF}\r
+       EndProjectSection\r
+EndProject\r
 Global\r
        GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
                Debug|Win32 = Debug|Win32\r
@@ -325,6 +330,14 @@ Global
                {9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|Win32.Build.0 = Release|Win32\r
                {9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|x64.ActiveCfg = Release|x64\r
                {9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|x64.Build.0 = Release|x64\r
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug|x64.ActiveCfg = Debug|x64\r
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release|Win32.ActiveCfg = Release|Win32\r
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release|x64.ActiveCfg = Release|x64\r
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32\r
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug_Broadway|x64.ActiveCfg = Debug|x64\r
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release_Broadway|Win32.ActiveCfg = Release|Win32\r
+               {A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release_Broadway|x64.ActiveCfg = Release|x64\r
        EndGlobalSection\r
        GlobalSection(SolutionProperties) = preSolution\r
                HideSolutionNode = FALSE\r
index 4bade71526e3b17badb771322be0b551f51dfafc..ab77577ebf22d67d503612788950dd5d8f9c8358 100644 (file)
                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 (file)
index 0000000..91e1b1d
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="9.00"\r
+       Name="gtk3-introspect"\r
+       ProjectGUID="{A8092C4E-0A21-4B1D-AC82-16764E418D1F}"\r
+       Keyword="MakeFileProj"\r
+       TargetFrameworkVersion="196613"\r
+       >\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"\r
+               />\r
+               <Platform\r
+                       Name="x64"\r
+               />\r
+       </Platforms>\r
+       <ToolFiles>\r
+       </ToolFiles>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="Debug|Win32"\r
+                       ConfigurationType="0"\r
+                       InheritedPropertySheets=".\gtk3-build-defines.vsprops"\r
+                       >\r
+                       <Tool\r
+                               Name="VCNMakeTool"\r
+                               BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) install-introspection"\r
+                               ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean install-introspection"\r
+                               CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean"\r
+                               Output="$(GtkIntrospectBuiltFiles)"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Debug|x64"\r
+                       ConfigurationType="0"\r
+                       InheritedPropertySheets=".\gtk3-build-defines.vsprops"\r
+                       >\r
+                       <Tool\r
+                               Name="VCNMakeTool"\r
+                               BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) install-introspection"\r
+                               ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean install-introspection"\r
+                               CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean"\r
+                               Output="$(GtkIntrospectBuiltFiles)"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       ConfigurationType="0"\r
+                       InheritedPropertySheets=".\gtk3-build-defines.vsprops"\r
+                       CharacterSet="2"\r
+                       DeleteExtensionsOnClean=""\r
+                       >\r
+                       <Tool\r
+                               Name="VCNMakeTool"\r
+                               BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) install-introspection"\r
+                               ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean install-introspection"\r
+                               CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean"\r
+                               Output="$(GtkIntrospectBuiltFiles)"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|x64"\r
+                       ConfigurationType="0"\r
+                       InheritedPropertySheets=".\gtk3-build-defines.vsprops"\r
+                       >\r
+                       <Tool\r
+                               Name="VCNMakeTool"\r
+                               BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) install-introspection"\r
+                               ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean install-introspection"\r
+                               CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean"\r
+                               Output="$(GtkIntrospectBuiltFiles)"\r
+                       />\r
+               </Configuration>\r
+       </Configurations>\r
+</VisualStudioProject>\r
index 90b03bef3a3c5a5104fdc27f5df4be98c625c5a5..3024bb2cfdd81b6f1a8af1fa52287c85e910c3b7 100644 (file)
                Name="PythonDirX64"
                Value="$(PythonDir).x64"
        />
+       <UserMacro
+               Name="IntrospectPythonParam"
+               Value="PYTHON=$(PythonDir)\python.exe"
+       />
+       <UserMacro
+               Name="IntrospectPythonParamX64"
+               Value="PYTHON=$(PythonDirX64)\python.exe"
+       />
 </VisualStudioPropertySheet>