[atk] Visual Studio builds: Integrate introspection builds



commit e00e843b23deaf5b75e3c10497ec185d0024b42a
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Thu Jul 13 18:32:11 2017 +0800

    Visual Studio builds: Integrate introspection builds
    
    Since we hard-require Python for our builds, integrate introspection
    builds in the build process.  This will fail if Python is not installed
    or correctly set at PythonDir/PythonDirX64 or g-ir-scanner is not found
    at $(GLibEtcInstallRoot)\bin, but it shouldn't otherwise impact the
    build in other ways as the built DLL and lib will still be built and
    copied normally.  This is in place here before the Meson build system is
    ready for G-I and GLib.

 win32/vs10/Makefile.am                 |    1 +
 win32/vs10/README.txt                  |   15 ++++-
 win32/vs10/atk-build-defines.props     |   10 +++
 win32/vs10/atk-install.propsin         |    3 +
 win32/vs10/atk-install.vcxproj         |    4 +
 win32/vs10/atk-introspect.vcxproj      |  103 ++++++++++++++++++++++++++++++++
 win32/vs10/atk-version-paths.props.in  |    8 +++
 win32/vs10/atk.sln                     |   10 +++
 win32/vs11/Makefile.am                 |    1 +
 win32/vs12/Makefile.am                 |    1 +
 win32/vs14/Makefile.am                 |    1 +
 win32/vs15/Makefile.am                 |    1 +
 win32/vs9/Makefile.am                  |    1 +
 win32/vs9/README.txt                   |   14 ++++
 win32/vs9/atk-build-defines.vsprops    |    8 +++
 win32/vs9/atk-install.vspropsin        |    3 +
 win32/vs9/atk-introspect.vcproj        |   76 +++++++++++++++++++++++
 win32/vs9/atk-version-paths.vsprops.in |    8 +++
 win32/vs9/atk.sln                      |   14 ++++
 19 files changed, 281 insertions(+), 1 deletions(-)
---
diff --git a/win32/vs10/Makefile.am b/win32/vs10/Makefile.am
index 3c0c9be..cf92579 100644
--- a/win32/vs10/Makefile.am
+++ b/win32/vs10/Makefile.am
@@ -10,6 +10,7 @@ EXTRA_DIST =  \
        atk.vcxproj.filtersin   \
        atk-install.vcxproj     \
        atk-install.vcxproj.filters     \
+       atk-introspection.vcxproj       \
        atk-build-defines.props \
        atk-gen-src.props       \
        atk-install.propsin     \
diff --git a/win32/vs10/README.txt b/win32/vs10/README.txt
index f9fe013..80ea7bd 100644
--- a/win32/vs10/README.txt
+++ b/win32/vs10/README.txt
@@ -22,7 +22,6 @@ a compiled C program, in addition to generating the atk.pc pkg-config
 file for the build.  See PythonDir (32-bit builds) or PythonDirX64 (x64
 builds) in atk-version-paths.props to see that they point to the correct paths.
 
-
 a) look for all of the dependencies (except GLib*) under
 
    http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ (32-bit) -OR-
@@ -84,6 +83,20 @@ headers, EXEs, DLLs and LIBs will end up in
 <root>\vs10\<PlatformName>\bin (EXEs/DLLs)
 respectively.
 
+Building introspection files are now integrated in the build process of the
+solution files.  In order for this to work, ensure that PythonDir (32-bit builds)
+or PythonDirX64 (x64 builds) are set at the installation directory of where your
+Python installation is.  Please note the following:
+
+-This Python installation must be the same installation/configuration as the
+ one that was used to build GObject-Introspection.
+
+-g-ir-scanner needs to be found at <root>\vs10\<PlatformName>\bin, and the
+ other Python items needs to be under <root>\vs10\<PlatformName>\lib\gobject-introspection.
+
+-If this fails, the other parts of the build/"install" will still continue to proceed
+ normally, so this is optional.
+
 After the build of ATK, the "install" project will copy build results
 and headers into their appropriate location under <root>\vs10\<PlatformName>.
 For instance, built DLLs go into <root>\vs10\<PlatformName>\bin, built LIBs into
diff --git a/win32/vs10/atk-build-defines.props b/win32/vs10/atk-build-defines.props
index 8e50c01..3e0d96e 100644
--- a/win32/vs10/atk-build-defines.props
+++ b/win32/vs10/atk-build-defines.props
@@ -5,6 +5,10 @@
   </ImportGroup>
   <PropertyGroup Label="UserMacros">
     <AtkDefines>ATK_COMPILATION;DLL_EXPORT;ATK_LOCALEDIR="/dummy/share/locale"</AtkDefines>
+    <AtkIntrospectNMakeCmd>cd ..
+set VCInstallDir=$(VCInstallDir)
+nmake -f atk-introspection-msvc.mak CFG=$(Configuration) PREFIX=$(GlibEtcInstallRoot)</AtkIntrospectNMakeCmd>
+    
<AtkIntrospectBuiltFiles>$(SolutionDir)\..\Atk-1.0.gir;$(SolutionDir)\..\Atk-1.0.typelib</AtkIntrospectBuiltFiles>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>atkbuilddefinesprops</_PropertySheetDisplayName>
@@ -29,5 +33,11 @@
     <BuildMacro Include="AtkDefines">
       <Value>$(AtkDefines)</Value>
     </BuildMacro>
+    <BuildMacro Include="AtkIntrospectNMakeCmd">
+      <Value>$(AtkIntrospectNMakeCmd)</Value>
+    </BuildMacro>
+    <BuildMacro Include="AtkIntrospectBuiltFiles">
+      <Value>$(AtkIntrospectBuiltFiles)</Value>
+    </BuildMacro>
   </ItemGroup>
 </Project>
diff --git a/win32/vs10/atk-install.propsin b/win32/vs10/atk-install.propsin
index 6f71d14..f8c2815 100644
--- a/win32/vs10/atk-install.propsin
+++ b/win32/vs10/atk-install.propsin
@@ -18,6 +18,9 @@ copy $(BinDir)\atk-$(ApiVersion).lib $(CopyDir)\lib
 mkdir $(CopyDir)\include\atk-$(ApiVersion)\atk
 #include "atk.vs10.headers"
 
+if exist ..\Atk-1.0.gir (mkdir $(CopyDir)\share\gir-1.0 &amp; copy ..\Atk-1.0.gir $(CopyDir)\share\gir-1.0)
+if exist ..\Atk-1.0.typelib (mkdir $(CopyDir)\lib\girepository-1.0 &amp; copy ..\Atk-1.0.gir 
$(CopyDir)\lib\girepository-1.0)
+
 mkdir $(CopyDir)\lib\pkgconfig
 copy ..\atk.pc $(CopyDir)\lib\pkgconfig
     </AtkDoInstall>
diff --git a/win32/vs10/atk-install.vcxproj b/win32/vs10/atk-install.vcxproj
index 2b36db2..675d03a 100644
--- a/win32/vs10/atk-install.vcxproj
+++ b/win32/vs10/atk-install.vcxproj
@@ -110,6 +110,10 @@
       <Project>{86eacd59-f69f-4aad-854b-aa03d5447360}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
+    <ProjectReference Include="atk-introspect.vcxproj">
+      <Project>{7034d75b-2ac9-4ea6-97a2-db4f8526ec5a}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/win32/vs10/atk-introspect.vcxproj b/win32/vs10/atk-introspect.vcxproj
new file mode 100644
index 0000000..98b8e90
--- /dev/null
+++ b/win32/vs10/atk-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>{7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}</ProjectGuid>
+    <RootNamespace>atkintrospect</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="atk-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="atk-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="atk-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="atk-build-defines.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <NMakeBuildCommandLine>$(AtkIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>
+    <NMakeReBuildCommandLine>$(AtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean 
all</NMakeReBuildCommandLine>
+    <NMakeCleanCommandLine>$(AtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
+    <NMakeOutput>$(AtkIntrospectBuiltFiles)</NMakeOutput>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <NMakeBuildCommandLine>$(AtkIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>
+    <NMakeReBuildCommandLine>$(AtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean 
all</NMakeReBuildCommandLine>
+    <NMakeCleanCommandLine>$(AtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
+    <NMakeOutput>$(AtkIntrospectBuiltFiles)</NMakeOutput>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <NMakeBuildCommandLine>$(AtkIntrospectNMakeCmd) $(IntrospectPythonParamX64)</NMakeBuildCommandLine>
+    <NMakeReBuildCommandLine>$(AtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean 
all</NMakeReBuildCommandLine>
+    <NMakeCleanCommandLine>$(AtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>
+    <NMakeOutput>$(AtkIntrospectBuiltFiles)</NMakeOutput>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <NMakeBuildCommandLine>$(AtkIntrospectNMakeCmd) $(IntrospectPythonParamX64)</NMakeBuildCommandLine>
+    <NMakeReBuildCommandLine>$(AtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean 
all</NMakeReBuildCommandLine>
+    <NMakeCleanCommandLine>$(AtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>
+    <NMakeOutput>$(AtkIntrospectBuiltFiles)</NMakeOutput>
+  </PropertyGroup>
+  <ItemGroup>
+    <ProjectReference Include="atk.vcxproj">
+      <Project>{86eacd59-f69f-4aad-854b-aa03d5447360}</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/win32/vs10/atk-version-paths.props.in b/win32/vs10/atk-version-paths.props.in
index 1347ad2..52e7f41 100644
--- a/win32/vs10/atk-version-paths.props.in
+++ b/win32/vs10/atk-version-paths.props.in
@@ -20,6 +20,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>atkversionpathsprops</_PropertySheetDisplayName>
@@ -67,5 +69,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/win32/vs10/atk.sln b/win32/vs10/atk.sln
index 4b89a74..8263831 100644
--- a/win32/vs10/atk.sln
+++ b/win32/vs10/atk.sln
@@ -3,6 +3,8 @@ Microsoft Visual Studio Solution File, Format Version 11.00
 # Visual Studio 2010
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "atk", "atk.vcxproj", 
"{86EACD59-F69F-4AAD-854B-AA03D5447360}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "atk-introspect", "atk-introspect.vcxproj", 
"{7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}"
+EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "atk-install", "atk-install.vcxproj", 
"{00702787-1566-484D-991F-3E7E459BB909}"
 EndProject
 Global
@@ -21,6 +23,14 @@ Global
                {86EACD59-F69F-4AAD-854B-AA03D5447360}.Release|Win32.Build.0 = Release|Win32
                {86EACD59-F69F-4AAD-854B-AA03D5447360}.Release|x64.ActiveCfg = Release|x64
                {86EACD59-F69F-4AAD-854B-AA03D5447360}.Release|x64.Build.0 = Release|x64
+               {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}.Debug|Win32.ActiveCfg = Debug|Win32
+               {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}.Debug|Win32.Build.0 = Debug|Win32
+               {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}.Release|Win32.ActiveCfg = Release|Win32
+               {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}.Release|Win32.Build.0 = Release|Win32
+               {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}.Debug|x64.ActiveCfg = Debug|x64
+               {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}.Debug|x64.Build.0 = Debug|x64
+               {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}.Release|x64.ActiveCfg = Release|x64
+               {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}.Release|x64.Build.0 = Release|x64
                {00702787-1566-484D-991F-3E7E459BB909}.Debug|Win32.ActiveCfg = Debug|Win32
                {00702787-1566-484D-991F-3E7E459BB909}.Debug|Win32.Build.0 = Debug|Win32
                {00702787-1566-484D-991F-3E7E459BB909}.Debug|x64.ActiveCfg = Debug|x64
diff --git a/win32/vs11/Makefile.am b/win32/vs11/Makefile.am
index 741cad1..b6bede6 100644
--- a/win32/vs11/Makefile.am
+++ b/win32/vs11/Makefile.am
@@ -5,6 +5,7 @@ EXTRA_DIST = \
        atk.vcxproj.filters \
        atk-install.vcxproj     \
        atk-install.vcxproj.filters     \
+       atk-introspection.vcxproj       \
        atk-build-defines.props \
        atk-install.props       \
        atk-version-paths.props \
diff --git a/win32/vs12/Makefile.am b/win32/vs12/Makefile.am
index 2825e88..5140dfd 100644
--- a/win32/vs12/Makefile.am
+++ b/win32/vs12/Makefile.am
@@ -5,6 +5,7 @@ EXTRA_DIST = \
        atk.vcxproj.filters \
        atk-install.vcxproj     \
        atk-install.vcxproj.filters     \
+       atk-introspection.vcxproj       \
        atk-build-defines.props \
        atk-install.props       \
        atk-version-paths.props \
diff --git a/win32/vs14/Makefile.am b/win32/vs14/Makefile.am
index f0a2c99..0edf48d 100644
--- a/win32/vs14/Makefile.am
+++ b/win32/vs14/Makefile.am
@@ -5,6 +5,7 @@ EXTRA_DIST = \
        atk.vcxproj.filters \
        atk-install.vcxproj     \
        atk-install.vcxproj.filters     \
+       atk-introspection.vcxproj       \
        atk-build-defines.props \
        atk-install.props       \
        atk-version-paths.props \
diff --git a/win32/vs15/Makefile.am b/win32/vs15/Makefile.am
index 4f290c3..7557d03 100644
--- a/win32/vs15/Makefile.am
+++ b/win32/vs15/Makefile.am
@@ -5,6 +5,7 @@ EXTRA_DIST = \
        atk.vcxproj.filters \
        atk-install.vcxproj     \
        atk-install.vcxproj.filters     \
+       atk-introspection.vcxproj       \
        atk-build-defines.props \
        atk-install.props       \
        atk-version-paths.props \
diff --git a/win32/vs9/Makefile.am b/win32/vs9/Makefile.am
index f0d98f8..c679306 100644
--- a/win32/vs9/Makefile.am
+++ b/win32/vs9/Makefile.am
@@ -7,6 +7,7 @@ EXTRA_DIST =    \
        atk.sln \
        atk.vcprojin    \
        atk-install.vcproj      \
+       atk-introspection.vcproj        \
        atk-build-defines.vsprops       \
        atk-gen-src.vsprops     \
        atk-install.vspropsin   \
diff --git a/win32/vs9/README.txt b/win32/vs9/README.txt
index 6f2cfec..472e419 100644
--- a/win32/vs9/README.txt
+++ b/win32/vs9/README.txt
@@ -83,6 +83,20 @@ headers, EXEs, DLLs and LIBs will end up in
 <root>\vs9\<PlatformName>\bin (EXEs/DLLs)
 respectively.
 
+Building introspection files are now integrated in the build process of the
+solution files.  In order for this to work, ensure that PythonDir (32-bit builds)
+or PythonDirX64 (x64 builds) are set at the installation directory of where your
+Python installation is.  Please note the following:
+
+-This Python installation must be the same installation/configuration as the
+ one that was used to build GObject-Introspection.
+
+-g-ir-scanner needs to be found at <root>\vs9\<PlatformName>\bin, and the
+ other Python items needs to be under <root>\vs9\<PlatformName>\lib\gobject-introspection.
+
+-If this fails, the other parts of the build/"install" will still continue to proceed
+ normally, so this is optional.
+
 After the build of ATK, the "install" project will copy build results
 and headers into their appropriate location under <root>\vs9\<PlatformName>.
 For instance, built DLLs go into <root>\vs9\<PlatformName>\bin, built LIBs into
diff --git a/win32/vs9/atk-build-defines.vsprops b/win32/vs9/atk-build-defines.vsprops
index fc7b509..e363626 100644
--- a/win32/vs9/atk-build-defines.vsprops
+++ b/win32/vs9/atk-build-defines.vsprops
@@ -23,4 +23,12 @@
                Name="AtkDefines"
                Value="ATK_COMPILATION;DLL_EXPORT;ATK_LOCALEDIR=\&quot;/dummy/share/locale\&quot;"
        />
+       <UserMacro
+               Name="AtkIntrospectNMakeCmd"
+               Value="cd ..&#x0D;&#x0A;set VCInstallDir=$(VCInstallDir)&#x0D;&#x0A;nmake -f 
atk-introspection-msvc.mak CFG=$(ConfigurationName) PREFIX=$(GlibEtcInstallRoot)"
+       />
+       <UserMacro
+               Name="AtkIntrospectBuiltFiles"
+               Value="$(SolutionDir)\..\Atk-1.0.gir;$(SolutionDir)\..\Atk-1.0.typelib"
+       />
 </VisualStudioPropertySheet>
diff --git a/win32/vs9/atk-install.vspropsin b/win32/vs9/atk-install.vspropsin
index dcb22d4..958cd1a 100644
--- a/win32/vs9/atk-install.vspropsin
+++ b/win32/vs9/atk-install.vspropsin
@@ -19,6 +19,9 @@ copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\atk-$(ApiVersion).li
 mkdir $(CopyDir)\include\atk-$(ApiVersion)\atk&#x0D;&#x0A;
 #include "atk.headers"
 
+if exist ..\Atk-1.0.gir (mkdir $(CopyDir)\share\gir-1.0 &amp; copy ..\Atk-1.0.gir 
$(CopyDir)\share\gir-1.0)&#x0D;&#x0A;
+if exist ..\Atk-1.0.typelib (mkdir $(CopyDir)\lib\girepository-1.0 &amp; copy ..\Atk-1.0.gir 
$(CopyDir)\lib\girepository-1.0)&#x0D;&#x0A;
+
 mkdir $(CopyDir)\lib\pkgconfig&#x0D;&#x0A;
 copy ..\atk.pc $(CopyDir)\lib\pkgconfig&#x0D;&#x0A;
 "
diff --git a/win32/vs9/atk-introspect.vcproj b/win32/vs9/atk-introspect.vcproj
new file mode 100644
index 0000000..a7b7cae
--- /dev/null
+++ b/win32/vs9/atk-introspect.vcproj
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+       ProjectType="Visual C++"
+       Version="9.00"
+       Name="atk-introspect"
+       ProjectGUID="{7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}"
+       Keyword="MakeFileProj"
+       TargetFrameworkVersion="196613"
+       >
+       <Platforms>
+               <Platform
+                       Name="Win32"
+               />
+               <Platform
+                       Name="x64"
+               />
+       </Platforms>
+       <ToolFiles>
+       </ToolFiles>
+       <Configurations>
+               <Configuration
+                       Name="Debug|Win32"
+                       ConfigurationType="0"
+                       InheritedPropertySheets=".\atk-build-defines.vsprops"
+                       >
+                       <Tool
+                               Name="VCNMakeTool"
+                               BuildCommandLine="$(AtkIntrospectNMakeCmd) $(IntrospectPythonParam)"
+                               ReBuildCommandLine="$(AtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean 
all"
+                               CleanCommandLine="$(AtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean"
+                               Output="$(AtkIntrospectBuiltFiles)"
+                       />
+               </Configuration>
+               <Configuration
+                       Name="Debug|x64"
+                       ConfigurationType="0"
+                       InheritedPropertySheets=".\atk-build-defines.vsprops"
+                       >
+                       <Tool
+                               Name="VCNMakeTool"
+                               BuildCommandLine="$(AtkIntrospectNMakeCmd) $(IntrospectPythonParamX64)"
+                               ReBuildCommandLine="$(AtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) 
clean all"
+                               CleanCommandLine="$(AtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean"
+                               Output="$(AtkIntrospectBuiltFiles)"
+                       />
+               </Configuration>
+               <Configuration
+                       Name="Release|Win32"
+                       ConfigurationType="0"
+                       InheritedPropertySheets=".\atk-build-defines.vsprops"
+                       CharacterSet="2"
+                       DeleteExtensionsOnClean=""
+                       >
+                       <Tool
+                               Name="VCNMakeTool"
+                               BuildCommandLine="$(AtkIntrospectNMakeCmd) $(IntrospectPythonParam)"
+                               ReBuildCommandLine="$(AtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean 
all"
+                               CleanCommandLine="$(AtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean"
+                               Output="$(AtkIntrospectBuiltFiles)"
+                       />
+               </Configuration>
+               <Configuration
+                       Name="Release|x64"
+                       ConfigurationType="0"
+                       InheritedPropertySheets=".\atk-build-defines.vsprops"
+                       >
+                       <Tool
+                               Name="VCNMakeTool"
+                               BuildCommandLine="$(AtkIntrospectNMakeCmd) $(IntrospectPythonParamX64)"
+                               ReBuildCommandLine="$(AtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) 
clean all"
+                               CleanCommandLine="$(AtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean"
+                               Output="$(AtkIntrospectBuiltFiles)"
+                       />
+               </Configuration>
+       </Configurations>
+</VisualStudioProject>
diff --git a/win32/vs9/atk-version-paths.vsprops.in b/win32/vs9/atk-version-paths.vsprops.in
index 401bd24..9d9973a 100644
--- a/win32/vs9/atk-version-paths.vsprops.in
+++ b/win32/vs9/atk-version-paths.vsprops.in
@@ -66,4 +66,12 @@
                Name="PythonDirX64"
                Value="$(PythonDir).x64"
        />
+       <UserMacro
+               Name="IntrospectPythonParam"
+               Value="PYTHON=$(PythonDir)\python.exe"
+       />
+       <UserMacro
+               Name="IntrospectPythonParamX64"
+               Value="PYTHON=$(PythonDirX64)\python.exe"
+       />
 </VisualStudioPropertySheet>
diff --git a/win32/vs9/atk.sln b/win32/vs9/atk.sln
index a760553..4880737 100644
--- a/win32/vs9/atk.sln
+++ b/win32/vs9/atk.sln
@@ -3,9 +3,15 @@ Microsoft Visual Studio Solution File, Format Version 10.00
 # Visual Studio 2008
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "atk", "atk.vcproj", 
"{86EACD59-F69F-4AAD-854B-AA03D5447360}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "atk-introspect", "atk-introspect.vcproj", 
"{7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}"
+       ProjectSection(ProjectDependencies) = postProject
+               {86EACD59-F69F-4AAD-854B-AA03D5447360} = {86EACD59-F69F-4AAD-854B-AA03D5447360}
+       EndProjectSection
+EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "atk-install", "atk-install.vcproj", 
"{00702787-1566-484D-991F-3E7E459BB909}"
        ProjectSection(ProjectDependencies) = postProject
                {86EACD59-F69F-4AAD-854B-AA03D5447360} = {86EACD59-F69F-4AAD-854B-AA03D5447360}
+               {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A} = {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}
        EndProjectSection
 EndProject
 Global
@@ -24,6 +30,14 @@ Global
                {86EACD59-F69F-4AAD-854B-AA03D5447360}.Debug|x64.Build.0 = Debug|x64
                {86EACD59-F69F-4AAD-854B-AA03D5447360}.Release|x64.ActiveCfg = Release|x64
                {86EACD59-F69F-4AAD-854B-AA03D5447360}.Release|x64.Build.0 = Release|x64
+               {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}.Debug|Win32.ActiveCfg = Debug|Win32
+               {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}.Debug|Win32.Build.0 = Debug|Win32
+               {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}.Release|Win32.ActiveCfg = Release|Win32
+               {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}.Release|Win32.Build.0 = Release|Win32
+               {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}.Debug|x64.ActiveCfg = Debug|x64
+               {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}.Debug|x64.Build.0 = Debug|x64
+               {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}.Release|x64.ActiveCfg = Release|x64
+               {7034D75B-2AC9-4EA6-97A2-DB4F8526EC5A}.Release|x64.Build.0 = Release|x64
                {00702787-1566-484D-991F-3E7E459BB909}.Debug|Win32.ActiveCfg = Debug|Win32
                {00702787-1566-484D-991F-3E7E459BB909}.Debug|Win32.Build.0 = Debug|Win32
                {00702787-1566-484D-991F-3E7E459BB909}.Release|Win32.ActiveCfg = Release|Win32


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