* Reorganize CMake Packaging module * Match if statements to function order * Cleanup root, res, and doc dirs * Move deps to requirements.txt file * Reorganize and format CMake files * Rename changelog lint * Add reccomended extension * Workflow to lint CMake files * Move CMake lint to script * Try lighter dep * Use venv * Add --format arg * Format all CMake files * Convert bash script to Python * Set CMake line ending format * Restore formatting * Add pyyaml dep * Remove unused arg * Rename config file * Remove comment * Repair copyrights (broken by defualt cmake-format) * Restore 3rd party copyright * Break up libs config into smaller macros * Better macro name * Load config after venv * Make intentional noop clearer * Only use upload step if required (make skip clearer) * Use CPack for deb and rpm packaging * Add upload step for Linux * Remove cpack dep, doesn't exist * Roll back presets version * Fixed distro like match * Update ChangeLog * Legacy checkout for some distros * All distros support v4 * Trying out newer Linux distros * Install Git on Docker images * Install without actions (not available before checkout) * Delete useless action * Install Python * Support for Arch and OpenSUSE * Add Arch and OpenSUSE to deps * Name steps * Full OpenSUSE names * Mark Git dir safe * Add pkgconf * Legacy CMake for Debian 11 * Add OpenSSL to OpenSUSE * Drop OpenSUSE Leap (no C++20 support) * Skip packaging for Arch and OpenSUSE (for now) * Shorten Arch/OpenSUSE names * Clearer step name * SImpler bootstrap * Shell not needed * Update apt * Don't check return code * Simplify python deps commands * Add STGZ/.sh package type * Prevent input prompt * Only config git safe dir when needed * Try cache v4 * Safe dir for Ubuntu * Safe dir for Arch * All Docker images seem to need safe dir config * Refactor env var getters * Make Ubuntu build extra packages * Condense bootstep to single step * Fixed var name * Fixed bootstrap logic * Simplify logic for upload condition (Windows and macOS) * Make package/upload condition easier to understand * Add Manjaro * Generic names for Linux .tar.gz and .sh packages * Add Manjaro deps * Swap macOS matrix entries * Add Red Hat UBI * Remove RHEL subscription manager * Throw on unsupported package distro * Conditionally install pip and venv * Remove extra pip arg * Add config for RHEL * Install EPEL for RHEL * Back-out RHEL as EPEL requires subscription * Restore Python deps logic * Fixed bug: Packacking run twice * Testing arm32v7 and arm64v8 * Revert "Testing arm32v7 and arm64v8" This reverts commit cb3caf188d2b79ed083a62fc091de295f9889f3d. * Re-add icon and shortcut file for Linux to package * Support OpenSUSE RPM build * Check return code * Add `rpm-build` for OpenSUSE * Reorg packages * Remove busybox-which * Add --non-interactive * Move --non-interactive to correct position * Experiment with makepkg * Check and print package commands * Make distro version optional * Use 8 cores to build * Default to distro name only * Fixed bad PKGBUILD filename * Use 4-part version for Arch * Remove comma from conflicts * Use .tar.gz from cwd * Generate checksum for Arch * Fixed file extension * Use shell to print output * Don't use shell * Gaurd against bad cmd_utils.run * Fixed bad import * Use list command * Fixed unable to run list commands * Use source file name * Simplify PKGBUILD to use make install * Change install prefix * Use DESTDIR * Copy .desktop and .png to build dir * Restore original `install(FILES...` * Improving comments * Fixed: makepkg runs from `src` by default * Move error after command print * Remove shell arg * Package as a user instead of root (makepkg can't run as root) * Fixed codesign runs in shell * Allow list commands in shell on windows * Don't use sudo on arch * Install sudo on Arch * Fixed typo * Fix ownership of build directory for package user * Improve example .env * Change to depend on libstdc++6 * Add TODO * Fixed Fedora version * Remove libstdc++ deps (names vary between distros) * Roll back to Fedora 40 and 39 * Improve comment * Remove unneccesary default
156 lines
No EOL
8.4 KiB
XML
156 lines
No EOL
8.4 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:fire="http://schemas.microsoft.com/wix/FirewallExtension" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
|
<?include Include.wxi?>
|
|
<Product Id="*" Language="1033" Manufacturer="$(var.Author)" Name="$(var.Name) ($(var.PlatformSimpleName))" UpgradeCode="$(var.UpgradeGuid)" Version="$(var.Version)">
|
|
<Package Compressed="yes" InstallScope="perMachine" InstallerVersion="301"/>
|
|
<MajorUpgrade DowngradeErrorMessage="A newer version of $(var.Name) is already installed."/>
|
|
<MediaTemplate EmbedCab="yes"/>
|
|
<!-- causes ICE61 warning, but stops user from installing many instances from nightly builds. -->
|
|
<Upgrade Id="$(var.UpgradeGuid)">
|
|
<UpgradeVersion Minimum="0.0.0.0" Property="UPGRADE"/>
|
|
</Upgrade>
|
|
<Feature Id="ProductFeature" Title="$(var.Name)">
|
|
<ComponentGroupRef Id="ProductComponents"/>
|
|
<ComponentGroupRef Id="OpenSSLComponents"/>
|
|
<ComponentGroupRef Id="ProductQtStylesComponents"/>
|
|
<ComponentGroupRef Id="ProductQtPluginComponents"/>
|
|
<ComponentRef Id="RegistryEntries"/>
|
|
<MergeRef Id="VC_Redist"/>
|
|
</Feature>
|
|
<DirectoryRef Id="TARGETDIR">
|
|
<Component Guid="7CF3564D-1F8E-4D3D-9781-E1EE22D5BD67" Id="RegistryEntries">
|
|
<RegistryKey Id="synergys" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Key="Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" Root="HKLM">
|
|
<RegistryValue Name="[INSTALLFOLDER]synergys.exe" Type="string" Value="~ HIGHDPIAWARE WIN7RTM"/>
|
|
</RegistryKey>
|
|
|
|
<RegistryKey Id="synergyc" Root="HKLM"
|
|
Key="Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"
|
|
ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
|
|
<RegistryValue Type="string" Name="[INSTALLFOLDER]synergyc.exe" Value="~ HIGHDPIAWARE WIN7RTM"/>
|
|
</RegistryKey>
|
|
|
|
<RegistryKey Id="synergy" Root="HKLM"
|
|
Key="Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"
|
|
ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
|
|
<RegistryValue Type="string" Name="[INSTALLFOLDER]synergy.exe" Value="~ HIGHDPIAWARE WIN7RTM"/>
|
|
</RegistryKey>
|
|
<!-- Windows 8 and later only -->
|
|
<Condition><![CDATA[Installed OR (VersionNT >= 602)]]></Condition>
|
|
</Component>
|
|
<?if $(var.Platform) = x64 ?>
|
|
<Merge Id="VC_Redist" SourceFile="$(var.ResPath)\dist\wix\msm\Microsoft_VC142_CRT_x64.msm" DiskId="1" Language="0"/>
|
|
<?else ?>
|
|
<Merge Id="VC_Redist" SourceFile="$(var.ResPath)\dist\wix\msm\Microsoft_VC142_CRT_x86.msm" DiskId="1" Language="0"/>
|
|
<?endif ?>
|
|
</DirectoryRef>
|
|
<Property Id="SynergyCommonBackground">common_background</Property>
|
|
<Binary Id="common_background" SourceFile="$(var.ResPath)\dist\wix\images\common_background.png"/>
|
|
<Icon Id="synergy.ico" SourceFile="$(var.ResPath)/synergy.ico"/>
|
|
<WixVariable Id="WixUIBannerBmp" Value="$(var.ResPath)\dist\wix\images\banner.png"/>
|
|
<WixVariable Id="WixUIDialogBmp" Value="$(var.ResPath)\dist\wix\images\dialog.png"/>
|
|
<Property Id="ARPPRODUCTICON" Value="synergy.ico"/>
|
|
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER"/>
|
|
<Property Id="LEGACY_UNINSTALL_EXISTS">
|
|
<RegistrySearch Id="LegacyRegistrySearch" Key="SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Synergy" Name="UninstallString" Root="HKLM" Type="file" Win64="no">
|
|
<FileSearch Id="LegacyFileSearch" Name="uninstall.exe"/>
|
|
</RegistrySearch>
|
|
</Property>
|
|
<Condition Message="An existing installation of $(var.Name) was detected, please uninstall it before continuing.">NOT LEGACY_UNINSTALL_EXISTS
|
|
</Condition>
|
|
<CustomAction ExeCommand="" FileKey="GuiProgram" Id="StartGui" Return="asyncNoWait"/>
|
|
<UI>
|
|
<UIRef Id="SynergyDlgSequence" />
|
|
</UI>
|
|
</Product>
|
|
<Fragment>
|
|
<Directory Id="TARGETDIR" Name="SourceDir">
|
|
<Directory Id="$(var.ProgramFilesFolder)">
|
|
<Directory Id="INSTALLFOLDER" Name="$(var.Name)">
|
|
<Directory Id="OpenSSLDir" Name="OpenSSL"/>
|
|
<Directory Id="PlatformsDir" Name="Platforms"/>
|
|
<Directory Id="QTStylesDir" Name="styles"/>
|
|
</Directory>
|
|
</Directory>
|
|
<Directory Id="ProgramMenuFolder"/>
|
|
</Directory>
|
|
</Fragment>
|
|
<Fragment>
|
|
<ComponentGroup Directory="INSTALLFOLDER" Id="ProductComponents">
|
|
<Component Guid="EC9AD3B0-277C-4157-B5C8-5FD5B6A5F4AD" Id="Core">
|
|
<File KeyPath="yes" Source="$(var.BinPath)/synergyd.exe"/>
|
|
<ServiceInstall Description="Controls the $(var.Name) foreground processes." DisplayName="$(var.Name)" ErrorControl="normal" Id="ServiceInstall" Name="Synergy" Start="auto" Type="ownProcess">
|
|
<util:ServiceConfig FirstFailureActionType="restart" ResetPeriodInDays="1" RestartServiceDelayInSeconds="1" SecondFailureActionType="restart" ThirdFailureActionType="restart"/>
|
|
</ServiceInstall>
|
|
<ServiceControl Id="ServiceControl" Name="Synergy" Remove="uninstall" Start="install" Stop="both"/>
|
|
<File Source="$(var.BinPath)/synergys.exe">
|
|
<fire:FirewallException Id="ServerFirewallException" IgnoreFailure="yes" Name="Synergy 1 server" Scope="any"/>
|
|
</File>
|
|
<File Source="$(var.BinPath)/synergyc.exe">
|
|
<fire:FirewallException Id="ClientFirewallException" IgnoreFailure="yes" Name="Synergy 1 client" Scope="any"/>
|
|
</File>
|
|
<File Source="$(var.BinPath)/syntool.exe"/>
|
|
<?if $(var.Platform) = x64 ?>
|
|
<File Source="$(var.OpenSSLBinPath)/libssl-3-x64.dll"/>
|
|
<File Source="$(var.OpenSSLBinPath)/libcrypto-3-x64.dll"/>
|
|
<?else ?>
|
|
<File Source="$(var.OpenSSLBinPath)/libssl-3.dll"/>
|
|
<File Source="$(var.OpenSSLBinPath)/libcrypto-3.dll"/>
|
|
<?endif ?>
|
|
</Component>
|
|
<Component Guid="BAC8149B-6287-45BF-9C27-43D71ED40214" Id="Gui">
|
|
<File Id="GuiProgram" KeyPath="yes" Source="$(var.BinPath)/synergy.exe">
|
|
<Shortcut Advertise="yes" Directory="ProgramMenuFolder" Icon="synergy.exe" Id="GuiShortcut" Name="$(var.Name)">
|
|
<Icon Id="synergy.exe" SourceFile="$(var.ResPath)/synergy.ico"/>
|
|
</Shortcut>
|
|
<fire:FirewallException Id="GuiFirewallException" IgnoreFailure="yes" Name="$(var.Name)" Scope="any"/>
|
|
</File>
|
|
<?if $(var.Configuration) = "Debug" ?>
|
|
<File Source="$(var.BinPath)\Qt5Cored.dll"/>
|
|
<File Source="$(var.BinPath)\Qt5Guid.dll"/>
|
|
<File Source="$(var.BinPath)\Qt5Networkd.dll"/>
|
|
<File Source="$(var.BinPath)\Qt5Svgd.dll"/>
|
|
<File Source="$(var.BinPath)\Qt5Widgetsd.dll"/>
|
|
<File Source="$(var.BinPath)\libGLESv2d.dll"/>
|
|
<File Source="$(var.BinPath)\libEGLd.dll"/>
|
|
<!-- HACK: Normally the C++ redistributable solves this dependency, including it can cause problems -->
|
|
<File Source="C:\Program Files (x86)\Windows Kits\10\bin\$(var.Platform)\ucrt\ucrtbased.dll"/>
|
|
<?else ?>
|
|
<File Source="$(var.BinPath)\Qt5Core.dll"/>
|
|
<File Source="$(var.BinPath)\Qt5Gui.dll"/>
|
|
<File Source="$(var.BinPath)\Qt5Network.dll"/>
|
|
<File Source="$(var.BinPath)\Qt5Svg.dll"/>
|
|
<File Source="$(var.BinPath)\Qt5Widgets.dll"/>
|
|
<File Source="$(var.BinPath)\libGLESv2.dll"/>
|
|
<File Source="$(var.BinPath)\libEGL.dll"/>
|
|
<?endif ?>
|
|
</Component>
|
|
</ComponentGroup>
|
|
<ComponentGroup Directory="QTStylesDir" Id="ProductQtStylesComponents">
|
|
<Component Guid="96E0F8D8-64FD-4CE8-94D1-F6EDCBBB4995" Id="Styles">
|
|
<File Id="qwindowsvistastyle" Source="$(var.BinPath)\styles\qwindowsvistastyle.dll"/>
|
|
</Component>
|
|
</ComponentGroup>
|
|
<ComponentGroup Directory="PlatformsDir" Id="ProductQtPluginComponents">
|
|
<Component Guid="684EFA14-856B-440E-A5E6-E90E04E36B41" Id="QtPlatformPlugin">
|
|
<?if $(var.Configuration) = "Debug" ?>
|
|
<File Source="$(var.BinPath)\platforms\qwindowsd.dll"/>
|
|
<?else ?>
|
|
<File Source="$(var.BinPath)\platforms\qwindows.dll"/>
|
|
<?endif ?>
|
|
</Component>
|
|
</ComponentGroup>
|
|
<ComponentGroup Directory="OpenSSLDir" Id="OpenSSLComponents">
|
|
<Component Guid="92648F77-65A6-4B16-AC59-A1F37BD341B1" Id="OpenSSL">
|
|
<?if $(var.Platform) = x64 ?>
|
|
<File Id="OpenSSLDll1" Source="$(var.OpenSSLBinPath)/libcrypto-3-x64.dll"/>
|
|
<File Id="OpenSSLDll2" Source="$(var.OpenSSLBinPath)/libssl-3-x64.dll"/>
|
|
<?else ?>
|
|
<File Id="OpenSSLDll1" Source="$(var.OpenSSLBinPath)/libcrypto-3.dll"/>
|
|
<File Id="OpenSSLDll2" Source="$(var.OpenSSLBinPath)/libssl-3.dll"/>
|
|
<?endif ?>
|
|
<File Source="$(var.OpenSSLBinPath)/openssl.exe"/>
|
|
<File Source="$(var.ResPath)/openssl/synergy.conf"/>
|
|
</Component>
|
|
</ComponentGroup>
|
|
</Fragment>
|
|
</Wix> |