This should only ever be set from the outside, not the project itself
Distribution build systems will set it to the right value
This breaks installing it to a custom if desired
* Use Deskflow Name
* Remove business-oriented options from issue templates
* Remove business-oriented workflow
* Bump version to 3.0.0 (to avoid confusion with previously used version numbers 1.x & 2.x)
* Update readme to reflect new project name and goals
* Found some more "synergy" to rename
* Rename `synlib` to `app`
* Rename `syntool` to `deskflow-legacy`
* Rename `synwinhk` to `dfwhook`
* Rename dirs from synergy to deskflow
* Rename more "Synergy" files
* Rename app bundle ID
* Fixed copyright typo
* Rename only title in serial key dialog (to be moved downstream later)
* Preserve original serial key window for moving downstream
* Restore dialogs ready for moving downstream
* Rename `QDeskflowApplication` to `DeskflowApplication` (the Q is confusing)
* Restore Volker's original project name
* Fixed mimetype
* Fixed weird grammar
* Fixed (more) weird grammar
* Broken link, restoring (but we should move all links out of source)
* Broken link, restoring (but we should move all links out of source)
* Add write permission to valgrind-analysis.yml
* Restore AUR conflicts
* Apply Clang format
* Update ChangeLog
* Back out version change
---------
Co-authored-by: Nick Bolton <nick@symless.com>
* Add experimental BSD job to CI
* Remove container
* cd into ` synergy/synergy/`
* Change unix to bsd
* Use only run param and not prepare
* Install python3 on FreeBSD
* Add missing command to prepare param
* Add all the Unix-like BSD-derived
* Use latest python3 for NetBSD and DragonFly BSD
* Use env for cmd and correct prepare commands
* Add deps config for unix-like
* Install Python deps on Unix-like
* Return matching entry in `get_unix_like_os`
* Add cmake dep for cmakelang py module
* Back out Unix-like support in `install_deps.py` (Python is tricky on BSD)
* Back out BSD from config
* Create install_deps.sh script for BSD-derived
* Use .sh script instead of .py for BSD-derived
* Add other case and fixed syntax
* Use /usr/bin/env
* Use more available sh
* Restore debian command
* Fixed syntax error
* Remove prepare args
* Remove space
* Use which instead of command
* Add libX11 dep
* Add other BSD-derivatives
* Set CMAKE_REQUIRED_INCLUDES
* Fixed bad separator for CMAKE_REQUIRED_INCLUDES
* Add debug lines
* Set CMAKE_REQUIRED_LIBRARIES to lib names
* use CMAKE_REQUIRED_QUIET
* Set CMAKE_REQUIRED_FLAGS for BSD
* Message for BSD packaging
* Make PKG_CONFIG_FOUND optional
* Move debug to all OS
* Remove solaris for now, too many missing packages
* Add missing override to XWindowsScreen.h
* Add PC_GLIB_INCLUDE_DIRS
* Fixed glib include
* Make libnotify optional
* Set CMAKE_LIBRARY_PATH
* Only run tests if toml++ available
* Also run integ tests
* Remove DragonFly (C++ version too old)
* Fixed NetBSD command
* Aww sucks. Well, I tried. Patches welcome
* Update ChangeLog
* Fixed README for OpenBSD, NetBSD, DragonFly BSD, Solaris
* Add missing case for SunOS
* Drop redundant virtual specifiers
* Print libs on FreeBSD
* Restore link_directories
* Beef up to ubuntu-24.04-16-core-x64, export QT_QPA_PLATFORM, improve comment
* Remove debug line
* Simplify debug text
* Restore ubuntu-latest
* Fixed really stupid typo
* Beef up with ubuntu-22.04-16-core-x64
* Revert "Beef up with ubuntu-22.04-16-core-x64"
This reverts commit 3de5773ef6c6eea99b93d3ee8448b0b95dc00dde.
* Add missing name
* Make .sh file primary deps file
* Tweaked deps instruction label
* Add libei and libportal
* Port libei and libportal code by Peter Hutterer and Olivier Fourdan
* Add Peter Hutterer and Olivier Fourdan to important devs list
* Improve error handling for libei and libportal builds
* Checkout libportal tags/0.7.1
* Hack out the gi-docgen clone
* Remove new submodules in favor of using ExternalProject_Add
* Remove submodule dirs
* Use ExternalProject_Add instead of submodules
* Fixed namespace
* Hack to work around type libportal causing type conflicts
* Add log helper functions
* Use original log functions
* Switch to FetchContent, use libportal a1530a9 (unreleased) and use camelCase member names for consistency
* Restore a few events (much more work required)
* Add TODOs for supporting multiple lib versions
* Revert "Switch to FetchContent, use libportal a1530a9 (unreleased) and use camelCase member names for consistency"
This reverts commit 610cebb5b6a08282eee68f4424fcdbe9eaab4bf9.
* Simplify cmake config by removing builds for libei and libportal (will do this in `install_deps.py` instead)
* Remove submodules
* Remove .gitmodules
* Use meson to build subprojects
* Update copyright with Peter Hutterer's guidance
* Use meson for installing deps
* Fixed typo in tag name
* Remove submodules
* Remove old submodules
* Fixed libei name
* Defaults for pugixml and gtest depending on whether source exists in subprojects
* Ignore some subproject dirs
* Make deps OS-specific
* Move python deps to pyproject
* Only compile and install on Linux with Meson
* Revert "Move python deps to pyproject"
This reverts commit 92c8a287b8376a4d166058c85f1d6081f6fdb423.
* Add ninja to brewfile
* Add python3-attr
* Restore original coverage config
* Add ninja for meson
* Include meson in same try-except
* Fixed ninja dep name
* Move libs to correct oS
* Fixed include for wintoast
* Disable docs for libportal
* More options for libei and libportal
* Fixed option for libei
* Use ninja directly to install
* Revert "Use ninja directly to install"
This reverts commit c926d78ba483406a55acd10fb157c39e13f90b71.
* Meson install verbose
* Prints stdout/stderr
* Remove `from None`
* Remove submodules that somehow crept back in?!
* Prepend sudo if exists
* Add libei deps for all distros
* Fixed Fedora package name
* Add more deps for other distros
* Add more libs (including pugixml)
* Fix lib name
* Drop -u from pacman
* Add vala to rhel
* Make libportal optional
* Make portal link optional
* Remove example code
* Always use system pugixml
* Disable interactive apt through install_deps.py
* Revert "Disable interactive apt through install_deps.py"
This reverts commit 5bbc8fd689182447c79b81db16c961b98361a292.
* Set DEBIAN_FRONTEND in workflows
* Set DEBIAN_FRONTEND in CodeQL workflow
* Add gtest dep
* Add bundled libei dep
* Add libei dep to Arch
* Use `googletest` on openSUSE
* Add gmock dep
* Remove gtest dep from openSUSE
* Add libei on Fedora
* Bundle libei for older Linux distros
* Disable libei dep for RPM
* Also bundle symlink to .so
* Use ${CMAKE_INSTALL_LIBDIR}
* Rename libei to fix openSUSE
* List installed files
* Add libei-devel to openSUSE
* Add googletest-devel to openSUSE
* Remove manual deps (probably resolved automatically)
* Remove googletest from openSUSE (doesn't provide google mock)
* Only add Portal* if libportal found
* WIP - Partial work on using old events system :'(
* Add deps install commands for subprojects
* Solved more compile issues related to events system, threads, etc
* Fixed bad config for adding x, ei, portal sources
* Remove redundant deps
* Remove (another) redundant dep
* Fixed pacman command
* Add Ubuntu and Linux Mint libei deps
* Fixed Ubuntu and Linux Mint libei deps aliases
* Only iterate subprojects if not None
* Add rhel, rocky, and alma for libei
* Make rhel-like deps same as fedora again
* Build libportal on rhel-like
* Re-enable meson rhel-like for libportal
* Remove dbus-python
* Make libportal optional (for rhel-like)
* Handle ei event queue results
* Re-introduce libportal
* Print libei and libportal versions
* Add ei/portal args and client screen
* Switch --use args to --no
* Don't build libei/libportal on older distros as it's pointless
* Make libei and libportal optional
* Add Debian 13 runner
* Make some packages optional
* Remove subprojects
* Improve comment
* Add comment for libportal
* Improve comment
* Add Debian 13 runner
* Make optional... optional
* Change continuation stripper to remove newline and continuation char
* Make command strip more uniform
* Fixed help var syntax
* Fixed libei linking
* Ensure `kHelpNoWayland` is always defined
* Improve help message
* Fixed Debian 13 runner name
* Include sstream and use const var
* Update ChangeLog
* Remove Wayland block
* Return new timer
* Make tray icon logging verbose
* Fixed arg parser for wayland args
* Fixed init of EI screen
* Fixed lint issues
* Update README to indicate Wayland support in GNOME 46
* Add missing word
* Fixed comment positions
* Automate CI env
* Tone down debug log messages
* Add missing comma
* Remove redundant log line
* Call ensure_in_venv before all imports
* Create `gui` lib and link to `synergy` and test bins
* Move GUI IPC code to GUI lib
* Improve `AppConfig` members and change `minimizeOnClose` to `closeToTray`
* Group getters and setters
* Add missing `m_CloseToTray` load
* Fixed lint issue
* Add TODO comment for main window integ test
* Remove redundant comments and add override
* Remove dead code
* Update ChangeLog
* Fixed activation related compile errors
* Disable concurrency cancel jobs
* Disable fail-fast for matrix
* Improve dev script for daemon
* Ignore `.user` files created by Qt
* Add `FORCE_DESKTOP_PROCESS` option
* Catch errors related to getting profile dir
* Disable IPC entirely if forced desktop
* Use in-class init for AppConfig members
* Refactor config to use safer memory management
* Improve launch config to make OS-specific debugger usage clearer
* Re-enable MainWindowTests on Windows, further refactor for memory safety, fixed some include orders
* Remove dead singleton code
* Swap order of tests
* Use HTTPs for URLs
* Fixed compile errors for `SYNERGY_ENABLE_LICENSING` compile path
* Restore exec function call
* Remove extra link in cancel dialog
* Fixed broken link on activation cancel UI
* Close dialog if activated
* Fixed macOS enum ref to kCurrentProcess
* Improve wording on cancel activation dialog
* WIP - Test timeout (compile error)
* Finished timeout logic (with smart pointer)
* Include string_view
* Switch to thread from jthread (maybe not supported by macOS compiler?)
* Improve comment
* Disable test on Windows
* Add TODO related to jthread on macOS
* Refactor settings and paths on Windows
* Launch in desktop mode on Windows
* Remove arg quote wraps which break desktop mode
* Fixed qFatal on Linux
* Remove test value
* Follow original `AppConfig` accessor convention
* Disable service checkbox if not Windows
* Simplify TLS control enable logic
* Update command and Git ignore
* Fixed code style
* Fixed include consistency
* Fixed includes in validator
* Fixed lint errors
* Update ChangeLog
* Use smart pointer for core process
* Remove unneccesary default operators
* Don't halt on stderr
* Simplify options
* Use more sensible edition logic
* Use set instead of option for string
* Improve macro for product name
* Add tests launch config
* Restore unregistered state
* Reorganize cases for title and improve function name
* Code coverage on by default
* Fixed copyright
* Improve code coverage and test readability
* Separate build-all and build-coverage
* Back out coverage on by default
* Fixed bad var in cmake
* More verbose logging for coverage
* Restore tasks
* Restore preLaunchTask
* Use default comparitor
* Move temp files to temp dir
* Add tasks for tests
* Support for wstring
* Upgrade sonar-scanner to 6 on Debian 12
* Use modern pip install
* Install python for sonarcloud
* Use Ubuntu and install deps
* Fixed sonar-scanner URL
* Fix exported dir
* Persist build dir
* Don't use venv for pip install gcovr
* Fixed another path
* Update actions/checkout to v4 for SonarCloud analysis workflow
* Add coverage task
* Improve coverage for SerialKeyEdition.cpp
* Enable licensing for builds
* Fixed invalid macro names, missing arguments, etc
* Fixed more copyright
* Fixed incorrect use of "enterprise"
* Fixed incorrect use of "business"
* Experiment with environment
* Make package prefix variable
* Add environment matrix to all OS
* Improve job names
* Make job names easier to read
* Roll back environment matrix (too much noise)
* Fixed: default should override required
* Refactor CI with vars
* Fixed arg for env.get_env
* 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