[gtk+] GSK: Add initial Visual Studio projects



commit ac875073fc9eb567c9143db1ee560719a7485a47
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Wed Oct 26 18:23:38 2016 +0800

    GSK: Add initial Visual Studio projects
    
    This adds the initial MSVC build items needed to build GSK under Visual Studio,
    this is part of it that is required, we need to add items to the property sheets
    to generate the code that is generated via glib-mkenums and glib-compile-resources.
    
    This set includes, with the autotools scripts for the complete:
    -GSK project files, which is integrated into the gtk+-4.sln.
    -The NMake snippets to build the introspection files for GSK.
    -The .bat files to call glib-mkenums to generate the enumeration sources.

 build/win32/Makefile.am                  |   22 +++-
 build/win32/gen-enums.batin              |   16 +++
 build/win32/gtkpc.py                     |   14 ++
 build/win32/vs12/Makefile.am             |    5 +
 build/win32/vs12/gsk-4.vcxproj.filtersin |   34 ++++++
 build/win32/vs12/gsk-4.vcxprojin         |  191 ++++++++++++++++++++++++++++++
 build/win32/vs12/gtk+-4.sln              |   18 +++
 build/win32/vs12/gtk-4.vcxprojin         |    4 +
 build/win32/vs12/gtk4-install.propsin    |   19 ++-
 build/win32/vs12/gtk4-install.vcxproj    |    4 +
 build/win32/vs14/Makefile.am             |    2 +
 gsk/Makefile.am                          |   62 ++++++++++-
 12 files changed, 377 insertions(+), 14 deletions(-)
---
diff --git a/build/win32/Makefile.am b/build/win32/Makefile.am
index 17294f5..d29abda 100644
--- a/build/win32/Makefile.am
+++ b/build/win32/Makefile.am
@@ -1,13 +1,20 @@
 include $(top_srcdir)/Makefile.decl
 
+GENERATED_ITEMS = gen-enums.bat
+
 if HAVE_INTROSPECTION
-GENERATED_ITEMS = \
+GENERATED_ITEMS += \
        introspection.body.mak  \
-       Gdk_4_0_gir_list                \
+       Gdk_4_0_gir_list        \
        GdkWin32_4_0_gir_list   \
+       Gsk_4_0_gir_list        \
        Gtk_4_0_gir_list
 
-MSVC_INTROSPECTION_INTERMEDIATE_FILES = Gdk-4.0.gir.msvc.introspect GdkWin32-4.0.gir.msvc.introspect 
Gtk-4.0.gir.msvc.introspect
+MSVC_INTROSPECTION_INTERMEDIATE_FILES =        \
+       Gdk-4.0.gir.msvc.introspect             \
+       GdkWin32-4.0.gir.msvc.introspect        \
+       Gsk-4.0.gir.msvc.introspect             \
+       Gtk-4.0.gir.msvc.introspect
 
 introspection.body.mak: $(MSVC_INTROSPECTION_INTERMEDIATE_FILES)
        -$(RM) introspection.body.mak
@@ -18,13 +25,13 @@ introspection.body.mak: $(MSVC_INTROSPECTION_INTERMEDIATE_FILES)
                esac; \
        done
        $(RM) $(MSVC_INTROSPECTION_INTERMEDIATE_FILES)
+endif
 
 DISTCLEANFILES = $(GENERATED_ITEMS)
 
-else
-GENERATED_ITEMS =
-DISTCLEANFILES =
-endif
+gen-enums.bat: $(srcdir)/gen-enums.batin gsk.enum.headers
+       $(CPP) -P - <$(srcdir)/gen-enums.batin >$@
+       $(RM) gsk.enum.headers
 
 SUBDIRS =      \
        vs12    \
@@ -37,6 +44,7 @@ EXTRA_DIST += \
        replace.py                      \
        pc_base.py                      \
        gtkpc.py                        \
+       gen-enums.batin                 \
        $(GENERATED_ITEMS)
 
 -include $(top_srcdir)/git.mk
diff --git a/build/win32/gen-enums.batin b/build/win32/gen-enums.batin
new file mode 100644
index 0000000..b4f381a
--- /dev/null
+++ b/build/win32/gen-enums.batin
@@ -0,0 +1,16 @@
+@ECHO OFF
+
+cd ..\..\gsk
+
+if exist gskenumtypes.h del gskenumtypes.h
+if exist gskenumtypes.c del gskenumtypes.c
+
+call perl %1\bin\glib-mkenums ^
+--template gskenumtypes.h.template ^
+#include "gsk.enum.headers"
+&1> gskenumtypes.h
+
+call perl %1\bin\glib-mkenums ^
+--template gskenumtypes.c.template ^
+#include "gsk.enum.headers"
+&1> gskenumtypes.c
diff --git a/build/win32/gtkpc.py b/build/win32/gtkpc.py
index 4daff56..c406352 100644
--- a/build/win32/gtkpc.py
+++ b/build/win32/gtkpc.py
@@ -32,6 +32,8 @@ def main(argv):
     gdk_pixbuf_min_ver = '2.30.0'
     gdk_win32_sys_libs = '-lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -ldwmapi'
     glib_min_ver = '2.45.8'
+    epoxy_min_ver = '1.0'
+    graphene_min_ver = '1.2'
 
     cairo_backends = 'cairo-win32'
     gdk_backends = 'win32'
@@ -60,6 +62,13 @@ def main(argv):
                             '@GDK_EXTRA_CFLAGS@': '',
                             'gdk-4': 'gdk-4.0'}
 
+    gsk_pc_replace_items = {'@GSK_PACKAGES@': pkg_required_packages, + ' ' + \
+                                              'graphene-1.0 >= ' + graphene_min_ver
+                            '@GSK_PRIVATE_PACKAGES@': 'epoxy >= ' + epoxy_min_ver,
+                            '@GSK_EXTRA_LIBS@': '',
+                            '@GSK_EXTRA_CFLAGS@': '',
+                            'gsk-4': 'gsk-4.0'}
+
     gtk_pc_replace_items = {'@host@': gdk_args.host,
                             '@GTK_BINARY_VERSION@': '4.0.0',
                             '@GTK_PACKAGES@': 'atk >= ' + atk_min_ver + ' ' + \
@@ -80,6 +89,11 @@ def main(argv):
                   base_pc.srcdir + '/gdk-4.0.pc',
                   gdk_pc_replace_items)
 
+    # Generate gsk-4.0.pc
+    replace_multi(base_pc.top_srcdir + '/gsk-4.0.pc.in',
+                  base_pc.srcdir + '/gsk-4.0.pc',
+                  gsk_pc_replace_items)
+
     # Generate gtk+-4.0.pc
     replace_multi(base_pc.top_srcdir + '/gtk+-4.0.pc.in',
                   base_pc.srcdir + '/gtk+-4.0.pc',
diff --git a/build/win32/vs12/Makefile.am b/build/win32/vs12/Makefile.am
index 8c37a97..f05cc59 100644
--- a/build/win32/vs12/Makefile.am
+++ b/build/win32/vs12/Makefile.am
@@ -9,6 +9,8 @@ GENERATED_ITEMS = \
        broadwayd.vcxproj.filters               \
        gdk-4.vcxproj                           \
        gdk-4.vcxproj.filters                   \
+       gsk-4.vcxproj                           \
+       gsk-4.vcxproj.filters                   \
        gtk-4.vcxproj                           \
        gtk-4.vcxproj.filters                   \
        gtk4-demo.vcxproj                       \
@@ -24,6 +26,7 @@ MSVC12_HEADERS_LISTS =        \
        gdk4-win32.vs12.headers         \
        gdk4-broadway.vs12.headers      \
        gdk-4.vs12.headers              \
+       gsk-4.vs12.headers              \
        gtk-4.vs12.headers
 
 EXTRA_DIST += \
@@ -39,6 +42,8 @@ EXTRA_DIST += \
        broadwayd.vcxproj.filtersin             \
        gdk-4.vcxprojin                         \
        gdk-4.vcxproj.filtersin                 \
+       gsk-4.vcxprojin                         \
+       gsk-4.vcxproj.filtersin                 \
        gtk-4.vcxprojin                         \
        gtk-4.vcxproj.filtersin                 \
        gtk-builder-tool.vcxproj                \
diff --git a/build/win32/vs12/gsk-4.vcxproj.filtersin b/build/win32/vs12/gsk-4.vcxproj.filtersin
new file mode 100755
index 0000000..7250315
--- /dev/null
+++ b/build/win32/vs12/gsk-4.vcxproj.filtersin
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+  </ItemGroup>
+  <ItemGroup>
+   <ClCompile Include="..\..\..\gsk\gskrenderer.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskrendernode.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskrendernodeiter.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskcairorenderer.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskdebug.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskgldriver.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskglprofiler.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskglrenderer.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskprivate.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskprofiler.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskshaderbuilder.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskenumtypes.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskresources.c"><Filter>Source Files</Filter></ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/build/win32/vs12/gsk-4.vcxprojin b/build/win32/vs12/gsk-4.vcxprojin
new file mode 100755
index 0000000..9d18664
--- /dev/null
+++ b/build/win32/vs12/gsk-4.vcxprojin
@@ -0,0 +1,191 @@
+<?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="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}</ProjectGuid>
+    <RootNamespace>gsk4</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gtk4-gen-srcs.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gtk4-gen-srcs.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gtk4-gen-srcs.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gtk4-gen-srcs.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      
<AdditionalIncludeDirectories>..\..\..\gsk;..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GskDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      
<AdditionalIncludeDirectories>..\..\..\gsk;..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(GskDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      
<AdditionalIncludeDirectories>..\..\..\gsk;..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GskDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      
<AdditionalIncludeDirectories>..\..\..\gsk;..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(GskDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+  </ItemGroup>
+  <ItemGroup>
+   <ClCompile Include="..\..\..\gsk\gskrenderer.c" />
+   <ClCompile Include="..\..\..\gsk\gskrendernode.c" />
+   <ClCompile Include="..\..\..\gsk\gskrendernodeiter.c" />
+   <ClCompile Include="..\..\..\gsk\gskcairorenderer.c" />
+   <ClCompile Include="..\..\..\gsk\gskdebug.c" />
+   <ClCompile Include="..\..\..\gsk\gskgldriver.c" />
+   <ClCompile Include="..\..\..\gsk\gskglprofiler.c" />
+   <ClCompile Include="..\..\..\gsk\gskglrenderer.c" />
+   <ClCompile Include="..\..\..\gsk\gskprivate.c" />
+   <ClCompile Include="..\..\..\gsk\gskprofiler.c" />
+   <ClCompile Include="..\..\..\gsk\gskshaderbuilder.c" />
+   <ClCompile Include="..\..\..\gsk\gskenumtypes.c" />
+   <ClCompile Include="..\..\..\gsk\gskresources.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="gdk-4.vcxproj">
+      <Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/build/win32/vs12/gtk+-4.sln b/build/win32/vs12/gtk+-4.sln
index 6c18434..b0684ff 100644
--- a/build/win32/vs12/gtk+-4.sln
+++ b/build/win32/vs12/gtk+-4.sln
@@ -10,6 +10,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "broadwayd", "broadwayd.vcxp
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk-4", "gdk-4.vcxproj", 
"{5AE8F5CE-9103-4951-AEDE-EA2F3B573BE8}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gsk-4", "gsk-4.vcxproj", 
"{5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}"
+EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk-4", "gtk-4.vcxproj", 
"{95A4B53D-2773-4406-A2C1-8FD2840BBAD8}"
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk4-demo", "gtk4-demo.vcxproj", 
"{BDAE6DE2-6BCC-4107-94F0-DA12214A02DE}"
@@ -112,6 +114,22 @@ Global
                {5AE8F5CE-9103-4951-AEDE-EA2F3B573BE8}.Release_Broadway|Win32.Build.0 = Release_Broadway|Win32
                {5AE8F5CE-9103-4951-AEDE-EA2F3B573BE8}.Release_Broadway|x64.ActiveCfg = Release_Broadway|x64
                {5AE8F5CE-9103-4951-AEDE-EA2F3B573BE8}.Release_Broadway|x64.Build.0 = Release_Broadway|x64
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Debug|Win32.ActiveCfg = Debug|Win32
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Debug|Win32.Build.0 = Debug|Win32
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Debug|x64.ActiveCfg = Debug|x64
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Debug|x64.Build.0 = Debug|x64
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Release|Win32.ActiveCfg = Release|Win32
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Release|Win32.Build.0 = Release|Win32
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Release|x64.ActiveCfg = Release|x64
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Release|x64.Build.0 = Release|x64
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Debug_Broadway|Win32.Build.0 = Debug|Win32
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Debug_Broadway|x64.ActiveCfg = Debug|x64
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Debug_Broadway|x64.Build.0 = Debug|x64
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Release_Broadway|Win32.ActiveCfg = Release|Win32
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Release_Broadway|Win32.Build.0 = Release|Win32
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Release_Broadway|x64.ActiveCfg = Release|x64
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Release_Broadway|x64.Build.0 = Release|x64
                {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Debug|Win32.ActiveCfg = Debug|Win32
                {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Debug|Win32.Build.0 = Debug|Win32
                {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Debug|x64.ActiveCfg = Debug|x64
diff --git a/build/win32/vs12/gtk-4.vcxprojin b/build/win32/vs12/gtk-4.vcxprojin
index f32094e..3171008 100644
--- a/build/win32/vs12/gtk-4.vcxprojin
+++ b/build/win32/vs12/gtk-4.vcxprojin
@@ -235,6 +235,10 @@
       <Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
+    <ProjectReference Include="gsk-4.vcxproj">
+      <Project>{5ae8f5ce-9103-4951-aede-eb2f3b573be8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/build/win32/vs12/gtk4-install.propsin b/build/win32/vs12/gtk4-install.propsin
index a69fa12..ce9adb6 100644
--- a/build/win32/vs12/gtk4-install.propsin
+++ b/build/win32/vs12/gtk4-install.propsin
@@ -15,10 +15,12 @@ copy "$(BinDir)\gdk-$(ApiVersion).lib" $(CopyDir)\lib
 
 if "$(Configuration)" == "Release_Broadway" goto DO_BROADWAY_BIN
 if "$(Configuration)" == "Debug_Broadway" goto DO_BROADWAY_BIN
+copy "$(BinDir)\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).dll" $(CopyDir)\bin
+copy "$(BinDir)\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).pdb" $(CopyDir)\bin
+copy "$(BinDir)\gsk-$(ApiVersion).lib" $(CopyDir)\lib
 copy "$(BinDir)\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).dll" $(CopyDir)\bin
 copy "$(BinDir)\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).pdb" $(CopyDir)\bin
 copy "$(BinDir)\gtk-$(ApiVersion).lib" $(CopyDir)\lib
-copy "$(BinDir)\gailutil-$(ApiVersion).lib" $(CopyDir)\lib
 copy "$(BinDir)\gtk4-demo.exe" $(CopyDir)\bin
 copy "$(BinDir)\gtk4-demo.pdb" $(CopyDir)\bin
 copy "$(BinDir)\gtk4-demo-application.exe" $(CopyDir)\bin
@@ -42,10 +44,12 @@ copy "$(BinDir)\broadwayd.pdb" $(CopyDir)\bin
 if "$(Configuration)" == "Release_Broadway" goto DO_BROADWAY_RELEASE
 if "$(Configuration)" == "Debug_Broadway" goto DO_BROADWAY_DEBUG
 :DO_BROADWAY_RELEASE
+copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).dll $(CopyDir)\bin
+copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).pdb $(CopyDir)\bin
+copy .\Release\$(Platform)\bin\gsk-$(ApiVersion).lib $(CopyDir)\lib
 copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).dll $(CopyDir)\bin
 copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).pdb $(CopyDir)\bin
 copy .\Release\$(Platform)\bin\gtk-$(ApiVersion).lib $(CopyDir)\lib
-copy .\Release\$(Platform)\bin\gailutil-$(ApiVersion).lib $(CopyDir)\lib
 copy .\Release\$(Platform)\bin\gtk4-demo.exe $(CopyDir)\bin
 copy .\Release\$(Platform)\bin\gtk4-demo.pdb $(CopyDir)\bin
 copy .\Release\$(Platform)\bin\gtk4-demo-application.exe $(CopyDir)\bin
@@ -64,10 +68,12 @@ copy .\Release\$(Platform)\bin\gtk-builder-tool.pdb $(CopyDir)\bin
 goto DONE_BIN
 
 :DO_BROADWAY_DEBUG
+copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).dll $(CopyDir)\bin
+copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).pdb $(CopyDir)\bin
+copy .\Debug\$(Platform)\bin\gsk-$(ApiVersion).lib $(CopyDir)\lib
 copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).dll $(CopyDir)\bin
 copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).pdb $(CopyDir)\bin
 copy .\Debug\$(Platform)\bin\gtk-$(ApiVersion).lib $(CopyDir)\lib
-copy .\Debug\$(Platform)\bin\gailutil-$(ApiVersion).lib $(CopyDir)\lib
 copy .\Debug\$(Platform)\bin\gtk4-demo.exe $(CopyDir)\bin
 copy .\Debug\$(Platform)\bin\gtk4-demo.pdb $(CopyDir)\bin
 copy .\Debug\$(Platform)\bin\gtk4-demo-application.exe $(CopyDir)\bin
@@ -86,8 +92,8 @@ copy .\Debug\$(Platform)\bin\gtk-builder-tool.pdb $(CopyDir)\bin
 :DONE_BIN
 
 copy ..\gdk-4.0.pc $(CopyDir)\lib\pkgconfig
+copy ..\gsk-4.0.pc $(CopyDir)\lib\pkgconfig
 copy "..\gtk+-4.0.pc" $(CopyDir)\lib\pkgconfig
-copy ..\gail-4.0.pc $(CopyDir)\lib\pkgconfig
     </GtkDoInstallBin>
     <GtkDoInstall>
 echo off
@@ -97,6 +103,9 @@ copy ..\..\..\gdk\win32\gdkwin32.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk
 #include "gdk-4.vs12.headers"
 #include "gdk4-win32.vs12.headers"
 
+mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gsk
+#include "gsk-4.vs12.headers"
+
 mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y
 mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated
 #include "gtk-4.vs12.headers"
@@ -133,7 +142,7 @@ $(CopyDir)\bin\gtk-update-icon-cache.exe --ignore-theme-index --force "$(CopyDir
     </GtkPostInstall>
     <GenerateGtkPC>$(PythonPath)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) 
--host=i686-pc-vs$(VSVer)</GenerateGtkPC>
     <GenerateGtkPCX64>$(PythonPathX64)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) 
--host=x86_64-pc-vs$(VSVer)</GenerateGtkPCX64>
-    <GtkPCFiles>..\gdk-4.0.pc;..\gtk+-4.0.pc;..\gail-4.0.pc</GtkPCFiles>
+    <GtkPCFiles>..\gdk-4.0.pc;..\gsk-4.0.pc;..\gtk+-4.0.pc</GtkPCFiles>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>gtk4installsprops</_PropertySheetDisplayName>
diff --git a/build/win32/vs12/gtk4-install.vcxproj b/build/win32/vs12/gtk4-install.vcxproj
index 5c9f12d..8676d38 100644
--- a/build/win32/vs12/gtk4-install.vcxproj
+++ b/build/win32/vs12/gtk4-install.vcxproj
@@ -221,6 +221,10 @@
       <Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
+    <ProjectReference Include="gsk-4.vcxproj">
+      <Project>{5ae8f5ce-9103-4951-aede-eb2f3b573be8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
     <ProjectReference Include="gtk4-demo.vcxproj">
       <Project>{bdae6de2-6bcc-4107-94f0-da12214a02de}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
diff --git a/build/win32/vs14/Makefile.am b/build/win32/vs14/Makefile.am
index 917d2b4..15dd64d 100644
--- a/build/win32/vs14/Makefile.am
+++ b/build/win32/vs14/Makefile.am
@@ -9,6 +9,8 @@ EXTRA_DIST +=   \
        gdk4-win32.vcxproj.filters      \
        gdk-4.vcxproj   \
        gdk-4.vcxproj.filters   \
+       gsk-4.vcxproj   \
+       gsk-4.vcxproj.filters   \
        gtk-4.vcxproj   \
        gtk-4.vcxproj.filters   \
        gtk-builder-tool.vcxproj                \
diff --git a/gsk/Makefile.am b/gsk/Makefile.am
index 9249d40..18dfca0 100644
--- a/gsk/Makefile.am
+++ b/gsk/Makefile.am
@@ -1,9 +1,12 @@
 include $(top_srcdir)/Makefile.decl
 
-AM_CPPFLAGS = \
+GSK_CFLAG_DEFINES = \
        -DG_LOG_DOMAIN=\"Gsk\"                  \
        -DG_LOG_USE_STRUCTURED=1                \
-       -DGSK_COMPILATION                       \
+       -DGSK_COMPILATION
+
+AM_CPPFLAGS = \
+       $(GSK_CFLAG_DEFINES)                    \
        -I$(top_srcdir)                         \
        -I$(top_srcdir)/gdk                     \
        -I$(top_builddir)                       \
@@ -156,4 +159,59 @@ CLEANFILES += $(gir_DATA) $(typelibs_DATA)
 
 endif
 
+# ------------------- MSVC Build Items ----------------
+MSVCPROJS = gsk-4
+
+gsk_4_FILES = $(all_sources) $(gsk_built_source_c)
+gsk_4_EXCLUDES = dummy
+gsk_4_HEADERS_DIR = $(gskincludedir)
+gsk_4_HEADERS_INST = $(gskinclude_HEADERS)
+gsk_4_HEADERS_EXCLUDES = dummy
+
+include $(top_srcdir)/build/Makefile.msvcproj
+
+$(top_builddir)/build/win32/gsk.enum.headers: Makefile $(gsk_public_source_h)
+       -$(RM) $(top_builddir)/build/win32/gsk.enum.headers
+       for F in $(gsk_public_source_h); do \
+               case $$F in \
+               *.h) \
+                       echo $$F' ^'>>$(top_builddir)/build/win32/gsk.enum.headers \
+                       ;; \
+               esac \
+       done
+
+if HAVE_INTROSPECTION
+# Introspection Items for MSVC
+MSVC_INTROSPECT_GIRS = Gsk-4.0.gir
+
+BASE_MSVC_GIR_CFLAGS =                 \
+       $(GSK_CFLAG_DEFINES)            \
+       -I../.. -I../../gdk -I.../../gsk
+
+INTROSPECTION_INTERMEDIATE_ITEMS = \
+       $(top_builddir)/build/win32/Gsk-4.0.gir.msvc.introspect \
+       $(top_builddir)/build/win32/Gsk_4_0_gir_list            \
+       $(top_builddir)/build/win32/gsk.enum.headers
+
+Gsk_4_0_gir_MSVC_FILES = $(introspection_files)
+Gsk_4_0_gir_MSVC_EXPORT_PACKAGES = $(Gsk_4_0_gir_EXPORT_PACKAGES)
+Gsk_4_0_gir_MSVC_INCLUDE_GIRS = $(Gsk_4_0_gir_INCLUDES)
+Gsk_4_0_gir_MSVC_LIBS = gdk-4.0
+Gsk_4_0_gir_MSVC_CFLAGS = $(BASE_MSVC_GIR_CFLAGS)
+Gsk_4_0_gir_MSVC_SCANNERFLAGS =                        \
+       --add-include-path=.                    \
+       --include-uninstalled=./Gdk-4.0.gir
+
+include $(top_srcdir)/build/Makefile.msvc-introspection
+
+else
+INTROSPECTION_INTERMEDIATE_ITEMS =
+endif
+
+dist-hook: \
+       $(top_builddir)/build/win32/vs12/gsk-4.vcxproj  \
+       $(top_builddir)/build/win32/vs12/gsk-4.vs12.headers     \
+       $(top_builddir)/build/win32/gsk.enum.headers    \
+       $(INTROSPECTION_INTERMEDIATE_ITEMS)
+
 -include $(top_srcdir)/git.mk


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