mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-03-10 07:50:19 +00:00
Added Windows dependency detection to enable/disable the Lua plugin build based on available headers and skip builds when missing.
Updated the Windows build to prefer glib-genmarshal executables with a Python fallback for marshal generation. Made GTK link dependencies more robust by selecting available ATK library names before assembling GTK libs.
This commit is contained in:
@@ -27,7 +27,7 @@
|
||||
<TargetName>$(LuaOutput)</TargetName>
|
||||
<OutDir>$(ZoiteChatRel)plugins\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ItemDefinitionGroup Condition="'$(LuaEnabled)'=='true' and '$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(Glib);$(LuaInclude);..\..\src\common;$(ZoiteChatLib);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@@ -37,7 +37,7 @@
|
||||
<AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ItemDefinitionGroup Condition="'$(LuaEnabled)'=='true' and '$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(Glib);$(LuaInclude);..\..\src\common;$(ZoiteChatLib);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@@ -47,8 +47,11 @@
|
||||
<AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ItemGroup Condition="'$(LuaEnabled)'=='true'">
|
||||
<ClCompile Include="lua.c" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" Condition="'$(LuaEnabled)'=='true'" />
|
||||
<Target Name="Build" Condition="'$(LuaEnabled)'!='true'">
|
||||
<Message Text="Lua headers not found; skipping Lua plugin build." Importance="high" />
|
||||
</Target>
|
||||
</Project>
|
||||
@@ -116,8 +116,8 @@
|
||||
SET SOLUTIONDIR=$(SolutionDir)..\
|
||||
"$(Python3Path)\python.exe" $(ProjectDir)make-te.py "$(ProjectDir)textevents.in" "$(ZoiteChatLib)textevents.h" "$(ZoiteChatLib)textenums.h"
|
||||
powershell -File "$(SolutionDir)..\win32\version-template.ps1" "$(SolutionDir)..\win32\config.h.tt" "$(ZoiteChatLib)config.h"
|
||||
"$(Python3Path)\python.exe" "$(DepsRoot)\bin\glib-genmarshal" --prefix=_zoitechat_marshal --header "$(ProjectDir)marshalers.list" --output "$(ZoiteChatLib)marshal.h"
|
||||
"$(Python3Path)\python.exe" "$(DepsRoot)\bin\glib-genmarshal" --prefix=_zoitechat_marshal --body "$(ProjectDir)marshalers.list" --output "$(ZoiteChatLib)marshal.c"
|
||||
$(GlibGenMarshal) --prefix=_zoitechat_marshal --header "$(ProjectDir)marshalers.list" --output "$(ZoiteChatLib)marshal.h"
|
||||
$(GlibGenMarshal) --prefix=_zoitechat_marshal --body "$(ProjectDir)marshalers.list" --output "$(ZoiteChatLib)marshal.c"
|
||||
]]></Command>
|
||||
</PreBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
@@ -28,6 +28,12 @@
|
||||
<Python3Output>hcpython3</Python3Output>
|
||||
<LuaInclude>$(DepsRoot)\include\luajit-2.1;$(DepsRoot)\include\lua;$(DepsRoot)\include\lua5.1;$(DepsRoot)\include\lua54;$(DepsRoot)\include\lua5.4;$(DepsRoot)\include\lua-5.4;$(SolutionDir)..\plugins\lua\luajit\src;$(SolutionDir)..\plugins\lua\luajit\src\jit</LuaInclude>
|
||||
<LuaOutput>hclua</LuaOutput>
|
||||
<LuaEnabled Condition="Exists('$(DepsRoot)\\include\\lua.h')">true</LuaEnabled>
|
||||
<LuaEnabled Condition="'$(LuaEnabled)'=='' and Exists('$(DepsRoot)\\include\\lua5.1\\lua.h')">true</LuaEnabled>
|
||||
<LuaEnabled Condition="'$(LuaEnabled)'=='' and Exists('$(DepsRoot)\\include\\lua5.4\\lua.h')">true</LuaEnabled>
|
||||
<LuaEnabled Condition="'$(LuaEnabled)'=='' and Exists('$(DepsRoot)\\include\\lua-5.4\\lua.h')">true</LuaEnabled>
|
||||
<LuaEnabled Condition="'$(LuaEnabled)'=='' and Exists('$(SolutionDir)..\\plugins\\lua\\luajit\\src\\lua.h')">true</LuaEnabled>
|
||||
<LuaEnabled Condition="'$(LuaEnabled)'==''">false</LuaEnabled>
|
||||
<LuaLib Condition="Exists('$(DepsRoot)\\lib\\lua51.lib')">lua51</LuaLib>
|
||||
<LuaLib Condition="'$(LuaLib)'=='' and Exists('$(DepsRoot)\\lib\\lua5.1.lib')">lua5.1</LuaLib>
|
||||
<LuaLib Condition="'$(LuaLib)'=='' and Exists('$(DepsRoot)\\lib\\lua54.lib')">lua54</LuaLib>
|
||||
@@ -35,6 +41,9 @@
|
||||
<LuaLib Condition="'$(LuaLib)'=='' and Exists('$(DepsRoot)\\lib\\lua-5.4.lib')">lua-5.4</LuaLib>
|
||||
<LuaLib Condition="'$(LuaLib)'=='' and Exists('$(DepsRoot)\\lib\\lua.lib')">lua</LuaLib>
|
||||
<LuaLib Condition="'$(LuaLib)'==''">lua51</LuaLib>
|
||||
<GlibGenMarshal Condition="Exists('$(DepsRoot)\\bin\\glib-genmarshal.exe')">"$(DepsRoot)\bin\glib-genmarshal.exe"</GlibGenMarshal>
|
||||
<GlibGenMarshal Condition="'$(GlibGenMarshal)'=='' and Exists('$(DepsRoot)\\bin\\glib-genmarshal')">"$(DepsRoot)\bin\glib-genmarshal"</GlibGenMarshal>
|
||||
<GlibGenMarshal Condition="'$(GlibGenMarshal)'==''">"$(Python3Path)\python.exe" "$(DepsRoot)\bin\glib-genmarshal"</GlibGenMarshal>
|
||||
<Glib>$(DepsRoot)\include\glib-2.0;$(DepsRoot)\lib\glib-2.0\include;$(DepsRoot)\include\libxml2</Glib>
|
||||
<UsingGtk3 Condition="Exists('$(DepsRoot)\\include\\gtk-3.0\\gtk\\gtk.h')">true</UsingGtk3>
|
||||
<GtkDefines>HAVE_GTK3</GtkDefines>
|
||||
@@ -70,7 +79,11 @@
|
||||
<Gdk3Lib Condition="Exists('$(DepsRoot)\\lib\\gdk-3.0.lib')">gdk-3.0.lib</Gdk3Lib>
|
||||
<Gdk3Lib Condition="'$(Gdk3Lib)'=='' and Exists('$(DepsRoot)\\lib\\gdk-3-0.lib')">gdk-3-0.lib</Gdk3Lib>
|
||||
<Gdk3Lib Condition="'$(Gdk3Lib)'=='' and Exists('$(DepsRoot)\\lib\\gdk-3.lib')">gdk-3.lib</Gdk3Lib>
|
||||
<Gtk3Libs>$(Gtk3Lib);$(Gdk3Lib);atk-1.0.lib;gio-2.0.lib;gdk_pixbuf-2.0.lib;pangowin32-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo.lib;gobject-2.0.lib;gmodule-2.0.lib;glib-2.0.lib;intl.lib;iconv.lib;$(ZlibLib);$(XmlLib);jpeg.lib;libpng16.lib;$(CryptoLib);$(SslLib)</Gtk3Libs>
|
||||
<AtkLib Condition="Exists('$(DepsRoot)\\lib\\atk-1.0.lib')">atk-1.0.lib</AtkLib>
|
||||
<AtkLib Condition="'$(AtkLib)'=='' and Exists('$(DepsRoot)\\lib\\atk-1.0-0.lib')">atk-1.0-0.lib</AtkLib>
|
||||
<AtkLib Condition="'$(AtkLib)'=='' and Exists('$(DepsRoot)\\lib\\libatk-1.0.lib')">libatk-1.0.lib</AtkLib>
|
||||
<AtkLib Condition="'$(AtkLib)'==''">atk-1.0.lib</AtkLib>
|
||||
<Gtk3Libs>$(Gtk3Lib);$(Gdk3Lib);$(AtkLib);gio-2.0.lib;gdk_pixbuf-2.0.lib;pangowin32-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo.lib;gobject-2.0.lib;gmodule-2.0.lib;glib-2.0.lib;intl.lib;iconv.lib;$(ZlibLib);$(XmlLib);jpeg.lib;libpng16.lib;$(CryptoLib);$(SslLib)</Gtk3Libs>
|
||||
|
||||
<DepLibs>$(Gtk3Libs);wininet.lib;winmm.lib;ws2_32.lib</DepLibs>
|
||||
<DataDir>$(SolutionDir)..\data\\</DataDir>
|
||||
|
||||
Reference in New Issue
Block a user