* 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
* Add new version env vars to example
* Remove test file
* Move CMake packaging to separate module and configure OpenSSL path for Windows
* Make VS Code CMake build task default
* Generate Microsoft-friendly 4-digit version number
* Update macOS bundle .plist with build year variable
* Use correct OpenSSL path and fixed various MSI variables
* Use correct rest/dist dir for MSI
* Add version .rc file for Windows
* Use macro instead of over-complicated version query command
* Made cmd_utils more secure by defaulting to no-shell and no-print
* Add certificate management module
* Implement packaging script on Windows
* Refactor Mac packaging script to use new cmd_utils args and new cert module
* Update ChangeLog
* Change PFX env vars and add to CI
* Use import as instead of from lib to solve resolve issue
* Allow custom certificate extensions
* Check for package version when using gdrive
* Make version number required
* Add missing shell
* Add missing gdrive value in test
* Find OpenSSL dir based on openssl binary
* Only use first OpenSSL entry
* More verbose logging
* Improve logging
* Only use env var if not empty
* Fixed wrong var
* Fixed macOS GitHub artefact name
* Change filename format to match new convention
* Only install Python deps with deps script
* Remove hard-coded Qt version in CI
* Add example .env
* Improve comments in .env file
* Simplify config reader and Choco CI config
* Actually return the config value
* Move deps before Qt version env call
* Remove `self.`
* Move venv ensure to main
* Fixed arg
* Move config import to function
* Move ensure_module to function
* Simplify over-complicated `Version.cmake`
* Move code to `github` module
* Use `symless/next-version-action`
* Make CMake version file even simpler
* Set version from tag
* Create release when master or release branch
* Don't run CI on master push, only release
* Fixed bac macro
* Use new version values
* Handle empty version env var
* Also strip version file value
* Remove quotes
* Add @master to action
* Read version from file
* Simplify version file read
* Fixed typo in env var
* Remove unused var
* Delete legacy build number action
* Fixed env var
* Version file read shouldn't be needed
* Remove weird and unnecessary include path
* Update ChangeLog
* Remove unused config value
* Better name for changelog check
* Delete broken Flatpak CI
* Run stale issue cron at midnight
* Update ChangeLog
* Add version input for manual run
* Print next version
* Fetch all tags
* Use more idiomatic approach
* Set to pre-release when master
* Remove unnecessary `commitish`
* Fixed wrong ID
* More specific IDs
* Reduce config needed for upload
* Only /release can be non-pre-release
* More discreet package path for gdrive
* Try without setting path
* Remove seemly unused step
* Better name for Qt version step
* Fixed bad var ref
* Better name for package dir
* Fixed bad input name
* Add missing shell
* Workflow to test upload action
* Remove fetch tags
* Use bash to cut version
* Remove name and make conditional
* Replace deprecated set-output
* Fixed env var name
* Missing dir sep char
* Add comment to test workflow
* Improve input descriptions
* Replace deprecated set-output
* Restore Azure macOS dist scripts
* Move steps to workflow for testing
* Always upload to GitHub
* Add codesign ID
* Echo codesign ID
* Add cert import code
* Stub file for Mac
* Self-install pyyaml and choco
* Auto add env var on Windows
* Auto add CMAKE_PREFIX_PATH to .zshrc
* Shorter var names
* Append env var instead of replace
* Only set env var if not CI
* Improve function names and print output
* Simplify Linux package command
* Support continuation sequence
* Add note about Windows
* Remove dead doc file
* Tidy up version file and move to .env format
* Use Python venv for deps
* Only use venv on Mac
* Rename package script for all OS
* Add package and dist steps, and use common upload
* Remove version source
* Fixed vars not available
* Fixed python paths
* Use RuntimeError which is sufficient
* Remove dead code
* Add extras command for Linux
* Always install deps on Linux
* Move Python deps to CI
* More env bootstrapping, ugh
* Forgot to return!
* Simplify code
* Use shell
* Simplify command
* Skip sudo if no sudo
* Update package managers
* Fixed Fedora package name
* Tidy up commands
* Use newer upload artifact
* Strip don't trim!
* Check for version file and reduce log verbosity
* Remove CentOS 7.6
* Print more info about return code and log more to stderr
* Install certificate on macOS
* Better errors for no env var
* Implement Mac signing and notary
* Move dmgbuild load
* Simplify notary
* Rename dist files to same as dest
* Fixed paths for dist
* Move checked-in dist files to res (dist is meant to be a temp dir)
* Fixed Mac path in CMake
* Fixed dmg path
* Format Python
* Ignore import warnings and move function
* Fixed cmake paths
* Add missing env var secrets
* Remove extensions from GH upload
* Make deps.yml general purpose config
* Add cspell config
* Pass codesign ID
* Use new general config file
* Sign bundle on Mac
* Move imports to functions
* Escape chars in docs
* Fixed config key accessor
* Change module import order
* Move file to tmp dir in workflow dir
* Persist temp dir
* Add tmp dir to ignore
* Flush stdio before running process
* Trying quotes around env values
* Add codesigning certificate validation for Mac signing
* Revert "Trying quotes around env values"
This reverts commit 0dd741e8cd6fde21e69d4fb871e835a5f4fa1a23.
* Extract codesign verify
* Fixed version number
* Ignore .cache dir
* Fix macro name
* Package name with version number and arch
* Improve package function readability
* Change order of vars
* Testing upload to GDrive
* Add missing return code
* Use positional args and declare error
* Use machine instead of arch and remove build from filename
* Remove redundant build jobs
* Replace massively over-complicated `build_version.py` script
* Move version info to env module
* Use version info script
* Fixed: too many values to unpack
* Chmod version script
* Use shebang
* Don't check return code on Linux
* Fixed function name
* Convert to GitHub specific script
* Env vars must be after configure
* Fixed Windows env var command
* Remove && from deps command so it's not conditional
* Fixed position of set env
* Change order of env script
* Only upload when not draft
* Test
* Tweak config
* Fixed if condition
* Don't package in draft (Windows and Linux)
* Create tasks.json
* Delete gui.pro
* Swallow any exceptions from stopDesktop
* Upgrade to C++20
* Update ChangeLog
* Remove old versions of Ubuntu
* Ignore VS Code workspace
* Restore original CodeQL job name
* Add problem matcher and suppress warnings from within old CMake lib
* Bump CMake min version to 3.5
* Remove useless cmake_minimum_required
* HACK: temp comment out failing code
* Bump Qt to 5.12.6
* Delete tasks.json
* Create CMakePresets.json
* Fixed Qt link error: The input line is too long.
* Fixed invalid call to map erase
* Fixed incorrect use of RegCreateKeyEx
* Add VS Code tasks.json for cmake build
* Store `desktop` in char buf before using it
* Generate compile_commands.json
* Restore indentation
* Revert "Restore indentation"
This reverts commit d9f495460f337c37e8a01d8853b317e949ea085a.
* Restore original indentation (for now)
* Create extensions.json
* Switch client help to use dynamic buffer
* Add the new param into client help
* Parse the new param as a generic param
* Add additional member to store server address
* Bind client socket to network interface
* Update Changelog
* Fix code smell
* Add a new hidden readonly option "initiateConnectionFromServer"
* Add option "clientHostMode"
* Add host mode to the client GUI
* Hide main window controls for the client host mode
* Store client address into the server config file
* Add client mode the server
* Pass option --host into the client
* Add --host parameter into the synergyc
* Add InverseSocketFactory
* Add InverseClientSocket
* Add InverseServerSocket
* Add AutoArchSocket
* Add listener on the client side
* Add connection from the server side
* Fix code smells
* Additional code smells
* Requested changes
Co-authored-by: Serhii Hadzhilov <serhii@symless.com>
* Update Version.cmake
* Add TLS to Synergy (Lite edition) (#7202)
* Add TLS to synergy light
* Requested changes
* License registration for Business edition (#7203)
* License registration for business
* Rename register to registry
* Add email into the request
* Add decoded serial key into the request
* Revert "Add decoded serial key into the request"
This reverts commit 0e18c8941664e86ae2264bbef072df68cab07751.
* Revert "Add email into the request"
This reverts commit 8dff01bc242769008897947d66187cb726fb34bf.
* Change field guid_generated to guid_type
* Update ChangeLog
* Update ChangeLog
* Fix build issue for ubuntu16 and ubuntu18 (#7204)
* Fix issue with settings
* Custom about screen for Elite Backers (#7211)
* Hide irrelevant information from the About screen for B2B
* Fix size for Windows and Linux
* Requested changes
* Fix Enterprise
* Revert "Fix Enterprise"
This reverts commit befd8d2ce36b6ca903250bada62293491f0b56a2.
* Revert "Requested changes"
This reverts commit 5f728e00aaeb4bed3e3c006539d380f74d3aff76.
* Change features based on edition (#7212)
* Change features based on edition
* Fix enterprise build
* Update window titles and about screen (#7214)
* Fix About screen for Business edition
* Change dialog title
* Refactored upgrade prompt for TLS and hotkeys (#7215)
* Prompt Basic users to upgrade to Pro to access TLS encryption
* Fixed Enterprise build
* Fix code smells
* Fix sonar bug
* SYNERGY-1397 MacOS function keys
* SYNERGY-1397 Update ChangeLog and version number
* SYNERGY-1397 Remove extra comment
* SYNERGY-1397 Remove assertions
* SYNERGY-1397 Change log level to warning
* SYNERGY-1027 When clicking on "Save" preferences, automatically apply all the new settings
*Add apply on settings save
* SYNERGY-1027 When clicking on "Save" preferences, automatically apply all the new settings
*Update changelog
* SYENRGY-1027 Update ChangeLog and Version.cmake
Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
* SYNERGY-1007 Release candidate
* SYNERGY-1014 Update openSSL to 1.1.1k on Windows artefacts
* SYNERGY-1015 Remove SYNERGY_AUTOCONFIG fom cmake files
* SYNERGY-1015 Update ChangeLog.txt
* SYNERGY-1005 Add fedora 33 to 1.14.0
* SYNERGY-1021 Incorrect client place for the first connection
* Update ChangeLog
* Update build_version.py to select correct build number
* SYNERGY-1023 Typo in <displays> on the server configuration page
* SYNERGY-1028 New licenses for Chinese market (#7031)
* SYNERGY-1028 New china licenses
* Update ChangeLog
* SYNERGY-1024 Release 1.14.0
* Update Version.cmake
Co-authored-by: Igor Sikachyna <sikachynairl@gmail.com>
* SYNERGY-786 The system does not update server name in Server configuration
* SYNERGY-768 Remove unused header
* SYNERGY-786 Update ChangeLog and version
* SYNERGY-786 Fix code smells
* SYNERGY-786 Save screen name after update
* Fix formatting in CMakeLists
* Add SYNERGY_NO_LEGACY environment flag
* Add build script for Windows
* Find_package for OpenSSL
* Move build scrits to scripts folder
* Add macOS and Linux build scripts
* Add environment variable
* Compile core with static openssl
* Default builds to Release
* Streamline OpenSSL dependancies
* Remove openssl from repo
* Change actions to test actions
* Add zip creation to build scripts
* Re-add original tests
* Add action value output
* Build per platform on release
* Fix path for core build
* Temporarily keep artifacts
* Set execute flag
* Zip before archiving
* Static build only for windows
* Remove -m flag from zip
* Change zip to tar
* Fix workflow name
* Add hints to openssl on mac
* Fix zip files
* Fix verbose flag on tar
* Remove path on download artifacts
* Try an array of build targets
* Extract action binaries
* Install full openssl
* Add 32bit openssl
* Modify installer to use the openssl.exe from ext
* Install OpenSSL full for windows release build
* Add openssl installation during windows CI
* Modify changelog
* Add enhancments section
* Remove bottom line in changelog
Previously the unit tests were being compiled without linking in the
actual test file, we will still need to prettify the cmake file (i.e.
don't put the test file in the add executable section