mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-03-10 07:50:19 +00:00
win32/copy/copy.vcxproj
Switched hardcoded DLL names to wildcard patterns (ex: atk-1.0-0.dll → *atk-1.0-0.dll, iconv.dll → *iconv*.dll, etc.) so it correctly picks up lib* prefixed builds. Made Enchant provider copying resilient by copying lib\enchant\*.dll instead of a single hardcoded libenchant_myspell.dll. Added optional copy support for LuaJIT DLLs (luajit*.dll) alongside lua51.dll. win32/installer/zoitechat.iss.tt Updated DLL Source: entries to match real-world names from dependency bundles using wildcards (*glib-2*.dll, *gtk-3*.dll, etc.). Added optional LuaJIT inclusion (skip if missing) and wildcarded girepository. win32/zoitechat.props Added env overrides so CI (and humans) can actually control paths: ZOITECHAT_DEPS_PATH ZOITECHAT_PYTHON3_PATH already supported ISCC_EXE and now it actually matters. Fixed glib-genmarshal handling to prefer glib-genmarshal.exe if present (and only use Python script path if needed). Added library-name auto-detection for MSVC import libs (gtk-3.lib vs gtk-3.0.lib vs libgtk-3.lib, etc.) so linking doesn’t die just because the bundle names differ. Ensured InstallerEnabled gets re-evaluated after IsccPath is resolved (GTK3 had the order wrong, so installer builds could be silently disabled). .github/workflows/windows-build.yml Made artifact collection and plugin validation tolerate win32 vs Win32 output directory naming, instead of assuming humans are consistent (they aren’t).
This commit is contained in:
@@ -1,111 +1,113 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Label="Configuration">
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<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>{C9B735E4-75BC-45AC-A5E3-39A6D076F912}</ProjectGuid>
|
||||
<RootNamespace>copy</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\zoitechat.props" />
|
||||
<ItemGroup>
|
||||
<None Include="$(DepsRoot)\bin\cert.pem" />
|
||||
<None Include="$(DepsRoot)\bin\atk-1.0-0.dll" />
|
||||
<None Include="$(DepsRoot)\bin\cairo*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\freetype-*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\fribidi-0.dll" />
|
||||
<None Include="$(DepsRoot)\bin\fontconfig-*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\gdk_pixbuf-2.0-0.dll" />
|
||||
<None Include="$(DepsRoot)\bin\gdk-3-*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\gio-2.0-0.dll" />
|
||||
<None Include="$(DepsRoot)\bin\glib-2.0-0.dll" />
|
||||
<None Include="$(DepsRoot)\bin\gmodule-2.0-0.dll" />
|
||||
<None Include="$(DepsRoot)\bin\gobject-2.0-0.dll" />
|
||||
<None Include="$(DepsRoot)\bin\gspawn-win$(PlatformArchitecture)-helper.exe" />
|
||||
<None Include="$(DepsRoot)\bin\gspawn-win$(PlatformArchitecture)-helper-console.exe" />
|
||||
<None Include="$(DepsRoot)\bin\gthread-2.0-0.dll" />
|
||||
<None Include="$(DepsRoot)\bin\gtk-3-*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\iconv.dll" />
|
||||
<None Include="$(DepsRoot)\bin\libcrypto*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\libssl*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\libenchant.dll" />
|
||||
<None Include="$(DepsRoot)\bin\ffi-*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\intl.dll" />
|
||||
<None Include="$(DepsRoot)\bin\jpeg*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\libpng16.dll" />
|
||||
<None Include="$(DepsRoot)\bin\libjpeg*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\libxml2-*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\pango-1.0-0.dll" />
|
||||
<None Include="$(DepsRoot)\bin\pangocairo-1.0-0.dll" />
|
||||
<None Include="$(DepsRoot)\bin\pangoft2-1.0-0.dll" />
|
||||
<None Include="$(DepsRoot)\bin\pangowin32-1.0-0.dll" />
|
||||
<None Include="$(DepsRoot)\bin\zlib1.dll" />
|
||||
<None Include="$(WinSparklePath)\WinSparkle.dll" />
|
||||
<None Include="changelog.url" />
|
||||
<None Include="readme.url" />
|
||||
|
||||
<None Include="$(DepsRoot)\bin\lua51.dll" />
|
||||
<None Include="$(DepsRoot)\bin\girepository-2.0-0.dll" />
|
||||
<LuaLib Include="$(DepsRoot)\lib\lua\**\*.dll" />
|
||||
<LuaShare Include="$(DepsRoot)\share\lua\*.lua" />
|
||||
<LuaShare Include="$(DepsRoot)\share\lua\**\*.lua" />
|
||||
<LuaShare Include="$(DepsRoot)\share\lua\**\**\*.lua" />
|
||||
<Typelib Include="$(DepsRoot)\lib\girepository-1.0\*.typelib" />
|
||||
<None Include="$(Python3Path)\Lib\site-packages\_cffi_backend.*.pyd" />
|
||||
|
||||
<Gtk3Immodules Include="$(DepsRoot)\lib\gtk-3.0\3.0.0\immodules\**\*" />
|
||||
<Gtk3PrintBackends Include="$(DepsRoot)\lib\gtk-3.0\3.0.0\printbackends\**\*" />
|
||||
|
||||
<FontConfig Include="$(DepsRoot)\etc\fonts\*"/>
|
||||
|
||||
<Share Include="share\**\*" />
|
||||
|
||||
<DepsRootDocs Include="$(DepsRoot)\share\doc\**\*" />
|
||||
|
||||
<Locale Include="$(ZoiteChatBin)locale\**\*;$(DepsRoot)\share\locale\**\*" />
|
||||
|
||||
<MSWindowsTheme Include="$(DepsRoot)\share\themes\MS-Windows\**\*" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Target Name="Build">
|
||||
<Copy SourceFiles="@(None)" DestinationFolder="$(ZoiteChatRel)" />
|
||||
<Copy SourceFiles="@(FontConfig)" DestinationFolder="$(ZoiteChatRel)\etc\fonts" />
|
||||
<Copy SourceFiles="@(Gtk3Immodules)" DestinationFiles="@(Gtk3Immodules->'$(ZoiteChatRel)\lib\gtk-3.0\3.0.0\immodules\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="@(Gtk3PrintBackends)" DestinationFiles="@(Gtk3PrintBackends->'$(ZoiteChatRel)\lib\gtk-3.0\3.0.0\printbackends\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="@(Share)" DestinationFiles="@(Share->'$(ZoiteChatRel)\share\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="..\..\COPYING" DestinationFolder="$(ZoiteChatRel)\share\doc\zoitechat" />
|
||||
<Copy SourceFiles="$(WinSparklePath)\COPYING" DestinationFolder="$(ZoiteChatRel)\share\doc\WinSparkle" />
|
||||
<Copy SourceFiles="$(DepsRoot)\lib\enchant\libenchant_myspell.dll" DestinationFolder="$(ZoiteChatRel)\lib\enchant" />
|
||||
<Copy SourceFiles="@(Locale)" DestinationFiles="@(Locale->'$(ZoiteChatRel)\share\locale\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="@(MSWindowsTheme)" DestinationFiles="@(MSWindowsTheme->'$(ZoiteChatRel)\share\themes\MS-Windows\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="@(LuaShare)" DestinationFiles="@(LuaShare->'$(ZoiteChatRel)\share\lua\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="@(LuaLib)" DestinationFiles="@(LuaLib->'$(ZoiteChatRel)\lib\lua\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="@(Typelib)" DestinationFiles="@(Typelib->'$(ZoiteChatRel)\lib\girepository-1.0\%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="..\..\plugins\python\xchat.py" DestinationFolder="$(ZoiteChatRel)\python" />
|
||||
<Copy SourceFiles="..\..\plugins\python\zoitechat.py" DestinationFolder="$(ZoiteChatRel)\python" />
|
||||
<Copy SourceFiles="..\..\plugins\python\_zoitechat.py" DestinationFolder="$(ZoiteChatRel)\python" />
|
||||
|
||||
<WriteLinesToFile File="$(ZoiteChatRel)portable-mode" Lines="2" Overwrite="true" />
|
||||
|
||||
<Copy SourceFiles="@(DepsRootDocs)" DestinationFiles="@(DepsRootDocs->'$(ZoiteChatRel)\share\doc\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Label="Configuration">
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<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>{C9B735E4-75BC-45AC-A5E3-39A6D076F912}</ProjectGuid>
|
||||
<RootNamespace>copy</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\zoitechat.props" />
|
||||
<ItemGroup>
|
||||
<None Include="$(DepsRoot)\bin\cert.pem" />
|
||||
<None Include="$(DepsRoot)\bin\*atk-1.0-0.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*cairo*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*freetype*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*fribidi*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*fontconfig*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*gdk_pixbuf*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*gdk-3*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*gio-2*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*glib-2*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*gmodule-2*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*gobject-2*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\gspawn-win$(PlatformArchitecture)-helper.exe" />
|
||||
<None Include="$(DepsRoot)\bin\gspawn-win$(PlatformArchitecture)-helper-console.exe" />
|
||||
<None Include="$(DepsRoot)\bin\*gthread-2*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*gtk-3*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*iconv*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*crypto*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*ssl*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*enchant*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*ffi*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*intl*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*jpeg*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*png*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*jpeg*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*xml2*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*pango-1.0-0.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*pangocairo-1.0-0.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*pangoft2-1.0-0.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*pangowin32-1.0-0.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*zlib*.dll" />
|
||||
<None Include="$(WinSparklePath)\WinSparkle.dll" />
|
||||
<None Include="changelog.url" />
|
||||
<None Include="readme.url" />
|
||||
|
||||
<None Include="$(DepsRoot)\bin\lua51.dll" />
|
||||
<None Include="$(DepsRoot)\bin\luajit*.dll" />
|
||||
<None Include="$(DepsRoot)\bin\*girepository*.dll" />
|
||||
<LuaLib Include="$(DepsRoot)\lib\lua\**\*.dll" />
|
||||
<LuaShare Include="$(DepsRoot)\share\lua\*.lua" />
|
||||
<LuaShare Include="$(DepsRoot)\share\lua\**\*.lua" />
|
||||
<LuaShare Include="$(DepsRoot)\share\lua\**\**\*.lua" />
|
||||
<Typelib Include="$(DepsRoot)\lib\girepository-1.0\*.typelib" />
|
||||
<EnchantProviders Include="$(DepsRoot)\lib\enchant\*.dll" />
|
||||
<None Include="$(Python3Path)\Lib\site-packages\_cffi_backend.*.pyd" />
|
||||
|
||||
<Gtk3Immodules Include="$(DepsRoot)\lib\gtk-3.0\3.0.0\immodules\**\*" />
|
||||
<Gtk3PrintBackends Include="$(DepsRoot)\lib\gtk-3.0\3.0.0\printbackends\**\*" />
|
||||
|
||||
<FontConfig Include="$(DepsRoot)\etc\fonts\*"/>
|
||||
|
||||
<Share Include="share\**\*" />
|
||||
|
||||
<DepsRootDocs Include="$(DepsRoot)\share\doc\**\*" />
|
||||
|
||||
<Locale Include="$(ZoiteChatBin)locale\**\*;$(DepsRoot)\share\locale\**\*" />
|
||||
|
||||
<MSWindowsTheme Include="$(DepsRoot)\share\themes\MS-Windows\**\*" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Target Name="Build">
|
||||
<Copy SourceFiles="@(None)" DestinationFolder="$(ZoiteChatRel)" />
|
||||
<Copy SourceFiles="@(FontConfig)" DestinationFolder="$(ZoiteChatRel)\etc\fonts" />
|
||||
<Copy SourceFiles="@(Gtk3Immodules)" DestinationFiles="@(Gtk3Immodules->'$(ZoiteChatRel)\lib\gtk-3.0\3.0.0\immodules\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="@(Gtk3PrintBackends)" DestinationFiles="@(Gtk3PrintBackends->'$(ZoiteChatRel)\lib\gtk-3.0\3.0.0\printbackends\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="@(Share)" DestinationFiles="@(Share->'$(ZoiteChatRel)\share\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="..\..\COPYING" DestinationFolder="$(ZoiteChatRel)\share\doc\zoitechat" />
|
||||
<Copy SourceFiles="$(WinSparklePath)\COPYING" DestinationFolder="$(ZoiteChatRel)\share\doc\WinSparkle" />
|
||||
<Copy SourceFiles="@(EnchantProviders)" DestinationFolder="$(ZoiteChatRel)\lib\enchant" />
|
||||
<Copy SourceFiles="@(Locale)" DestinationFiles="@(Locale->'$(ZoiteChatRel)\share\locale\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="@(MSWindowsTheme)" DestinationFiles="@(MSWindowsTheme->'$(ZoiteChatRel)\share\themes\MS-Windows\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="@(LuaShare)" DestinationFiles="@(LuaShare->'$(ZoiteChatRel)\share\lua\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="@(LuaLib)" DestinationFiles="@(LuaLib->'$(ZoiteChatRel)\lib\lua\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="@(Typelib)" DestinationFiles="@(Typelib->'$(ZoiteChatRel)\lib\girepository-1.0\%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="..\..\plugins\python\xchat.py" DestinationFolder="$(ZoiteChatRel)\python" />
|
||||
<Copy SourceFiles="..\..\plugins\python\zoitechat.py" DestinationFolder="$(ZoiteChatRel)\python" />
|
||||
<Copy SourceFiles="..\..\plugins\python\_zoitechat.py" DestinationFolder="$(ZoiteChatRel)\python" />
|
||||
|
||||
<WriteLinesToFile File="$(ZoiteChatRel)portable-mode" Lines="2" Overwrite="true" />
|
||||
|
||||
<Copy SourceFiles="@(DepsRootDocs)" DestinationFiles="@(DepsRootDocs->'$(ZoiteChatRel)\share\doc\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user