[gtk+] MSVC builds: Make the GSK project functional
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] MSVC builds: Make the GSK project functional
- Date: Thu, 27 Oct 2016 06:17:46 +0000 (UTC)
commit 874b0daea2e97f685898d8624990034f6f59bbb0
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Thu Oct 27 14:13:42 2016 +0800
MSVC builds: Make the GSK project functional
Add the needed custom build steps to generate the GResource and
enumeration sources that is needed for the build, and make sure that the
build is able to find the Graphene headers and lib.
Also add the necessary CFLAGS needed for building GSK.
build/win32/vs12/gsk-4.vcxproj.filtersin | 16 ++---------
build/win32/vs12/gsk-4.vcxprojin | 42 ++++++++++++++++++++---------
build/win32/vs12/gtk4-build-defines.props | 7 +++--
build/win32/vs12/gtk4-gen-srcs.props | 18 ++++++++++++
4 files changed, 54 insertions(+), 29 deletions(-)
---
diff --git a/build/win32/vs12/gsk-4.vcxproj.filtersin b/build/win32/vs12/gsk-4.vcxproj.filtersin
index 7250315..6b1f1c3 100755
--- a/build/win32/vs12/gsk-4.vcxproj.filtersin
+++ b/build/win32/vs12/gsk-4.vcxproj.filtersin
@@ -15,20 +15,10 @@
</Filter>
</ItemGroup>
<ItemGroup>
+ <CustomBuild Include="..\..\..\gsk\gskenumtypes.c.template"><Filter>Resource Files</Filter></CustomBuild>
+ <CustomBuild Include="..\..\..\gsk\gsk.gresource.xml"><Filter>Resource Files</Filter></CustomBuild>
</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>
+#include "gsk-4.vs12.sourcefiles.filters"
</ItemGroup>
</Project>
diff --git a/build/win32/vs12/gsk-4.vcxprojin b/build/win32/vs12/gsk-4.vcxprojin
index 9d18664..a4bfca6 100755
--- a/build/win32/vs12/gsk-4.vcxprojin
+++ b/build/win32/vs12/gsk-4.vcxprojin
@@ -163,21 +163,37 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
+ <CustomBuild Include="..\..\..\gsk\gskenumtypes.c.template">
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating GSK enumeration
sources...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GenGSKEnumSrcs)</Command>
+ <Outputs
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\gsk\gskenumtypes.h;..\..\..\gsk\gskenumtypes.c;%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating GSK enumeration
sources...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenGSKEnumSrcs)</Command>
+ <Outputs
Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\gsk\gskenumtypes.h;..\..\..\gsk\gskenumtypes.c;%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating GSK enumeration
sources...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenGSKEnumSrcs)</Command>
+ <Outputs
Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\gsk\gskenumtypes.h;..\..\..\gsk\gskenumtypes.c;%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating GSK enumeration
sources...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenGSKEnumSrcs)</Command>
+ <Outputs
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\gsk\gskenumtypes.h;..\..\..\gsk\gskenumtypes.c;%(Outputs)</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="..\..\..\gsk\gsk.gresource.xml">
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating GSK resource
sources...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GenGSKRsrcSrcs)</Command>
+ <Outputs
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\gsk\gskresources.h;..\..\..\gsk\gskresources.c;..\..\..\gsk\gsk.gresource.xml;%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating GSK resource
sources...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenGSKRsrcSrcs)</Command>
+ <Outputs
Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\gsk\gskresources.h;..\..\..\gsk\gskresources.c;..\..\..\gsk\gsk.gresource.xml;%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating GSK resource
sources...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenGSKRsrcSrcs)</Command>
+ <Outputs
Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\gsk\gskresources.h;..\..\..\gsk\gskresources.c;..\..\..\gsk\gsk.gresource.xml;%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating GSK resource
sources...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenGSKRsrcSrcs)</Command>
+ <Outputs
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\gsk\gskresources.h;..\..\..\gsk\gskresources.c;..\..\..\gsk\gsk.gresource.xml;%(Outputs)</Outputs>
+ </CustomBuild>
</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" />
+#include "gsk-4.vs12.sourcefiles"
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk-4.vcxproj">
diff --git a/build/win32/vs12/gtk4-build-defines.props b/build/win32/vs12/gtk4-build-defines.props
index f618190..4a11f4a 100644
--- a/build/win32/vs12/gtk4-build-defines.props
+++ b/build/win32/vs12/gtk4-build-defines.props
@@ -7,7 +7,8 @@
<GtkBinaryVersion>4.0.0</GtkBinaryVersion>
<GtkDummyPrefix>/dummy</GtkDummyPrefix>
<GtkPrefixDefine>GTK_PREFIX=\"$(GtkDummyPrefix)\"</GtkPrefixDefine>
- <GdkDefines>GDK_COMPILATION;G_LOG_DOMAIN="Gdk"</GdkDefines>
+ <GdkDefines>GDK_COMPILATION;G_LOG_USE_STRUCTURED=1;G_LOG_DOMAIN="Gdk"</GdkDefines>
+ <GskDefines>GSK_COMPILATION;G_LOG_USE_STRUCTURED=1;G_LOG_DOMAIN="Gsk"</GskDefines>
<GtkIncludedImmodulesDefines>INCLUDE_IM_am_et;INCLUDE_IM_cedilla;INCLUDE_IM_cyrillic_translit;INCLUDE_IM_ime;INCLUDE_IM_inuktitut;INCLUDE_IM_ipa;INCLUDE_IM_multipress;INCLUDE_IM_thai;INCLUDE_IM_ti_er;INCLUDE_IM_ti_et;INCLUDE_IM_viqr</GtkIncludedImmodulesDefines>
<GtkDefines>GTK_COMPILATION;G_LOG_DOMAIN="Gtk";GTK_HOST="i686-pc-vs$(VSVer)";GTK_PRINT_BACKENDS="file";GTK_PRINT_BACKEND_ENABLE_UNSUPPORTED;$(GtkIncludedImmodulesDefines);GTK_LIBDIR="$(GtkDummyPrefix)/lib";GTK_DATADIR="$(GtkDummyPrefix)/share";GTK_DATA_PREFIX="$(GtkDummyPrefix)";GTK_SYSCONFDIR="$(GtkDummyPrefix)/etc";MULTIPRESS_CONFDIR="$(GtkDummyPrefix)/etc/gtk-$(ApiVersion)";MULTIPRESS_LOCALEDIR="$(GtkDummyPrefix)/share/locale";GTK_VERSION="$(GtkVersion)/etc";GTK_BINARY_VERSION="$(GtkBinaryVersion)/etc";GDK_DISABLE_DEPRECATED;ISOLATION_AWARE_ENABLED</GtkDefines>
<GtkGdkCommonLibs>imm32.lib</GtkGdkCommonLibs>
@@ -22,14 +23,14 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
-
<AdditionalIncludeDirectories>..\..\..;$(GlibEtcInstallRoot)\include\gdk-pixbuf-2.0;$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\atk-1.0;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\gio-win32-2.0;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+
<AdditionalIncludeDirectories>..\..\..;$(GlibEtcInstallRoot)\include\gdk-pixbuf-2.0;$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\atk-1.0;$(GlibEtcInstallRoot)\include\graphene-1.0;$(GlibEtcInstallRoot)\lib\graphene-1.0\include;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\gio-win32-2.0;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_CONFIG_H;G_DISABLE_SINGLE_INCLUDES;ATK_DISABLE_SINGLE_INCLUDES;GDK_PIXBUF_DISABLE_SINGLE_INCLUDES;GTK_DISABLE_SINGLE_INCLUDES;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/d2Zi+ %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
-
<AdditionalDependencies>pangocairo-1.0.lib;cairo.lib;cairo-gobject.lib;pango-1.0.lib;gdk_pixbuf-2.0.lib;gio-2.0.lib;gmodule-2.0.lib;gobject-2.0.lib;glib-2.0.lib;intl.lib;epoxy.lib;%(AdditionalDependencies)</AdditionalDependencies>
+
<AdditionalDependencies>pangocairo-1.0.lib;cairo.lib;cairo-gobject.lib;pango-1.0.lib;gdk_pixbuf-2.0.lib;graphene-1.0.lib;gio-2.0.lib;gmodule-2.0.lib;gobject-2.0.lib;glib-2.0.lib;intl.lib;epoxy.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(GlibEtcInstallRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs12/gtk4-gen-srcs.props b/build/win32/vs12/gtk4-gen-srcs.props
index 587bc1c..5aeaab1 100644
--- a/build/win32/vs12/gtk4-gen-srcs.props
+++ b/build/win32/vs12/gtk4-gen-srcs.props
@@ -44,6 +44,18 @@ echo $(Configuration) > ..\..\..\MSVC_$(Configuration)_Broadway
<CopyGtkWin32RC>copy ..\..\..\gtk\gtk-win32.rc.body ..\..\..\gtk\gtk-win32.rc</CopyGtkWin32RC>
<GenerateGtkWin32Manifest>$(PythonPath)\python ..\replace.py --action=replace-var
--input=..\..\..\gtk\libgtk4.manifest.in --output=..\..\..\gtk\libgtk4.manifest
--var=EXE_MANIFEST_ARCHITECTURE --outstring=*</GenerateGtkWin32Manifest>
<CopyDemosH>copy ..\..\..\demos\gtk-demo\demos.h.win32 ..\..\..\demos\gtk-demo\demos.h</CopyDemosH>
+ <GenGSKEnumSrcs>(cd ..) & (call gen-enums.bat $(GlibEtcInstallRoot)) & (cd
$(SolutionDir))</GenGSKEnumSrcs>
+ <GenGSKRsrcSrcs>
+echo ^<?xml version='1.0' encoding='UTF-8'?^> > ..\..\..\gsk\gsk.gresource.xml
+echo ^<gresources^> >> ..\..\..\gsk\gsk.gresource.xml
+echo ^<gresource prefix='/org/gtk/libgsk'^> >> ..\..\..\gsk\gsk.gresource.xml
+for /f %%f in ('dir /b ..\..\..\gsk\resources\glsl\*') do echo ^<file
alias='glsl/%%f'^>resources/glsl/%%f^</file^> >> ..\..\..\gsk\gsk.gresource.xml
+echo ^</gresource^> >> ..\..\..\gsk\gsk.gresource.xml
+echo ^</gresources^> >> ..\..\..\gsk\gsk.gresource.xml
+
+$(GlibEtcInstallRoot)\bin\glib-compile-resources.exe --sourcedir=..\..\..\gsk --c-name _gsk
--generate-header --manual-register --target=..\..\..\gsk\gskresources.h ..\..\..\gsk\gsk.gresource.xml
+$(GlibEtcInstallRoot)\bin\glib-compile-resources.exe --sourcedir=..\..\..\gsk --c-name _gsk
--generate-source --manual-register --target=..\..\..\gsk\gskresources.c ..\..\..\gsk\gsk.gresource.xml
+ </GenGSKRsrcSrcs>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>gtk4gensrcsprops</_PropertySheetDisplayName>
@@ -76,5 +88,11 @@ echo $(Configuration) > ..\..\..\MSVC_$(Configuration)_Broadway
<BuildMacro Include="CopyDemosH">
<Value>$(CopyDemosH)</Value>
</BuildMacro>
+ <BuildMacro Include="GenGSKEnumSrcs">
+ <Value>$(GenGSKEnumSrcs)</Value>
+ </BuildMacro>
+ <BuildMacro Include="GenGSKRsrcSrcs">
+ <Value>$(GenGSKRsrcSrcs)</Value>
+ </BuildMacro>
</ItemGroup>
</Project>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]