Commit graph

44 commits

Author SHA1 Message Date
Nick Bolton
4d3f0c820e
Correct Qt macOS target and drop Core5Compat lib (#7389)
* Remove Core5Compat

* Remove hack

* Update ChangeLog

* Revert "Remove hack"

This reverts commit dda3ad05818d346fdfcbb41944b9e731a4b547c0.

* Set `add_compile_definitions` for Qt

* Revert "Set `add_compile_definitions` for Qt"

This reverts commit 0258d2d226a76081068f4e565855f37993953be5.

* Use arm64_monterey bottle

* Revert "Use arm64_monterey bottle"

This reverts commit a46d743dc6883c925e2328b9628231189cb34367.

* Use aqt to install Qt on Mac

* Append env var instead of overwrite

* Fixed filename

* Use GITHUB_PATH

* Restore original GITHUB_ENV logic

* Use newer cache action

* Update ChangeLog
2024-07-15 12:57:39 +01:00
Nick Bolton
a4e1beb79d
Re-run macdeployqt6 to copy missing Qt 6 dependencies (#7382)
* Remove bundle on build and back out install_name_tool

* Add hack to fix Qt bundle bug

* Improve comment

* Update ChangeLog
2024-07-11 14:03:17 +01:00
Nick Bolton
d8acb36e8d
Resolve Qt framework path with install_name_tool (#7379)
* Add comment about EXC_BAD_ACCESS

* Optional certificate install

* Improve log output

* Move team ID arg

* Change position of arg

* Set PATH in .zshrc and use bash command substitution

* Simplified macdeployqt find logic

* Formatting

* Minor tweaks to Qt cmake config

* Resolve framework path with install_name_tool

* Update ChangeLog
2024-07-10 15:11:32 +00:00
Nick Bolton
6e82f64ec8
Upgrade from Qt5 to Qt6 for more modern UI (#7373)
* Use Qt 6

* Fixed some Qt6 deps

* Fixed minor compile issues for Qt6

* Drop Debian 11 support (no Qt6 lib)

* Move Debian to top

* Delete expensive to maintain code that yeilds low UX gain

* Unpack all values

* Use %lld instead of %u

* Minor UI improvements

* Add deps for Fedora, OpenSUSE, and Arch

* Fixed CMake lint issue

* Use package name from build.opensuse.org

* Used `zypper search` to find correct package names
2024-07-08 15:37:51 +01:00
Nick Bolton
4690b61551
Simplify compile options and use comprehensive edition logic (#7365)
* 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
2024-07-04 10:14:54 +01:00
Nick Bolton
c8d9707857
Re-implement packaging for GitHub workflows (Linux) (#7361)
* 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
2024-07-02 11:23:56 +01:00
Nick Bolton
bec38ab47b
Re-implement packaging for GitHub workflows (Windows) (#7360)
* 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
2024-06-28 09:35:18 +00:00
Nick Bolton
d4133d1110
Use C++20 and CMake presets (#7322)
* 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
2024-01-11 00:26:39 +00:00
SerhiiGadzhilov
6ce20f689a
Merge changes from V1.14.0 (#7032)
* 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>
2021-06-09 11:23:09 +03:00
SerhiiGadzhilov
7e562bbf69
SYNERGY-799 Update Synergy UI. Main screen (#6973)
* SYNERGY-799 Add computer name field

* SYNERGY-799 Add field “This computers IP addresses”

* SYNERGY-799 Arrange panels

* SYNERGY-799 Increase size for panels

* SYNERGY-799 Add radio buttons

* SYNERGY-799 Remove unnecessary label

* SYNERGY-799 Radio buttons switch logic

* SYNERGY-799 Move configure server button

* SYNERGY-799 Move “Existing Config” to “Advanced settings”

* SYNERGY-799 Server state label has been added

* SYNERGY-799 Client state label has been added

* SYNERGY-799 Button connect has been added

* SYNERGY-799 Add “TLS/SSL active - view”

* SYNERGY-799 Fixed issue with list on welcome screen

* SYNERGY-799 Fixed issue with auto switching

* SYNERGY-799 Fix issue with server status message

* SYNERGY-799 Disable all tabs if external config is selected

* SYNERGY-799 Fix code smells

* Update ChangeLog
2021-04-12 12:03:37 +03:00
SerhiiGadzhilov
3c2810a3e0
SYNERGY-799 Add validation for aliases (#6969)
* SYNERGY-799 Add validation for aliases

* SYNERGY-799 Update ChangeLog

* SYNERGY-799 Fix code smells

* SYNERGY-799 Use new version of "trilom/file-changes-action"
2021-03-24 14:38:50 +02:00
SerhiiGadzhilov
05ce7f37bc
SYNERGY-826 Add a new option SYNERGY_AUTOCONFIG (#6949)
* SYNERGY-826 Add a new option SYNERGY_AUTOCONFIG

* Update ChangeLog

* Update Version.cmake

* SYNERGY-826 Return stage back
2021-02-15 13:44:46 +02:00
Kyle Bloom
70d67040b7
Revert openssl changes (#6926)
* Revert "Core builds (#6908)"

This reverts commit 4c7456d3cc.

* Re-add minor gitignore changes

* Re-add buildCoreWindows script

* Re-add synergy no legacy flag

* Minor format fix

* Revert openssl checksums

* Remove enhancement

* Install python-pip for gcovr

* Fix mixed tabs and spaces
2021-01-26 13:36:39 +02:00
Kyle Bloom
4c7456d3cc
Core builds (#6908)
* 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
2021-01-20 14:47:56 +00:00
Jnewbon
c5814be90d
Merge pull request #6500 from jpwhiting/use_macdeployqt
Use macdeployqt to install Qt frameworks inside bundle
2020-07-12 14:05:31 +01:00
Jnewbon
448a787ab8
Migrated to Azure pipline for CI and builds
Also added Deb 10 to CI and builds
2020-07-08 13:17:06 +01:00
Jamie Newbon
1973cc7eb5 #6670 Updated cmake to require translations that don't get build on some distributions 2020-05-04 23:55:08 +01:00
Jamie Newbon
5bdafa3214 Revert "#6622 Changed translation command to update ts files as well"
This reverts commit a38ac372
2020-03-24 00:45:11 +00:00
Jamie Newbon
a38ac37280 #6622 Changed translation command to update ts files as well 2020-03-23 23:38:18 +00:00
Jamie Newbon
c7a55a6fa7 #6622 Moved compiled translations and added language resource file 2020-03-23 23:32:22 +00:00
Jnewbon
963fbca39b
Merge pull request #6624 from symless/v1-issue-6622-cmake-language
Updated build to include compiling of language files
2020-01-24 15:33:18 +00:00
Jamie Newbon
4395291b4f #6622 Added compiling of language files to cmake 2020-01-21 11:33:55 +00:00
Jamie Newbon
9f700a1977 #4937 Add .mm files to cmake if builder is mac 2020-01-11 15:42:34 +00:00
Jeremy Whiting
688578fbc1 Use macdeployqt to install Qt frameworks inside bundle during "make install" 2019-07-27 19:33:28 -06:00
Nick Bolton
7aa0553b57 Revert "Merge pull request #6358 from jpwhiting/build_with_newer_cmake"
This reverts commit 2b79608c44, reversing
changes made to 183403ceb7.
2018-07-30 12:27:51 +01:00
Jeremy Whiting
f9b83f9516 Use target_link_libraries instead of qt5_use_modules.
Since qt5_use_modules is deprecated in newer cmake versions
use target_link_libraries with Qt5:: targets instead.
see: http://doc.qt.io/qt-5/cmake-manual.html
2018-07-09 10:30:31 -06:00
Andrew Nelless
458d8e4778 #6301 Disable zeroconf for Enterprise builds 2018-07-08 16:51:38 +01:00
Andrew Nelless
b396b1092d #6301 Disable activation for Enterprise builds 2018-07-08 16:51:34 +01:00
Jerry (Xinyu Hou)
1e8e48d65b
Use corresponding Bonjour libs for different versions of OS 2018-03-20 11:41:38 +00:00
Andrew Nelless
876744ad2c Cleanup version number handling in CMake 2017-04-27 15:40:23 +01:00
Jerry (Xinyu Hou)
485a7fff03 #6012 Move gui v1 into bin for deb packaging 2017-04-25 14:15:15 +01:00
Andrew Nelless
fedbcb0f3a Remove ../ includes in src/lib 2017-03-09 15:16:08 +00:00
Andrew Nelless
bb73b1722a Link legacy GUI to Avahi on Linux 2017-03-08 18:20:18 +00:00
Andrew Nelless
20948522ea Install macOS binaries in to bundle 2017-03-07 16:50:02 +00:00
Andrew Nelless
ed29889f25 Add GUI resource files on Windows 2017-02-09 20:05:36 +00:00
Andrew Nelless
71f24c0664 Correct UI file path 2017-02-09 19:57:13 +00:00
Andrew Nelless
7bcd595da4 Tweak GUI CMakeLists 2017-02-09 16:06:34 +00:00
Andrew Nelless
31a7fb395c Restore GUI v1 executable name 2017-02-08 12:40:34 +00:00
Andrew Nelless
f9b3969f72 Fix up Synergy version number 2017-02-07 23:01:01 +00:00
Andrew Nelless
e3f3b7424c Fix bonjour linkage on non-Windows platforms 2017-02-07 01:35:07 +00:00
Andrew Nelless
1a536acdff Add Qt5 core module to GUI1 linkage 2017-02-07 01:27:15 +00:00
Andrew Nelless
ccda3a6e4f Add core to GUI1 linkage 2017-02-07 01:27:11 +00:00
XinyuHou
deea23f866 Apply tab to spaces filter to src folder 2017-02-07 01:24:59 +00:00
Andrew Nelless
abeedf9bcc Add CMake build option for GUI 2017-02-07 01:24:58 +00:00