[Synergy](https://github.com/symless/synergy-core) is a keyboard and mouse sharing tool for devices connected over a network. Up until version 1.8.8, binaries were freely available to download from the official project website. Since then, Synergy maintainers have decided to publish binaries behind a pay wall. However, Synergy is an open source project, and therefore anyone can build the application on their system.
## About
This repository provides some convenience tools and documentation for building Synergy. Alternatively, one can also [download](https://github.com/DEAKSoftware/Synergy-Binaries/releases) the pre-compiled binaries.
Information presented here is based on the [official wiki pages](https://github.com/symless/synergy-core/wiki/Compiling). Anyone attempting to build Synergy should consult the official wiki pages first.
[Synergy](https://github.com/symless/synergy-core) is a keyboard and mouse sharing tool for devices connected over a network. Up until version 1.8.8, binaries were freely available to download from the official project website. Since then, Synergy maintainers have decided to publish binaries behind a pay wall. However, Synergy is an open source project, and therefore anyone can build the application on their system.
This repository provides some convenience tools and documentation for building Synergy. Alternatively, one can also download the pre-compiled binaries, see below.
## Download Binaries
## Download
The following binaries available in the [Releases](https://github.com/DEAKSoftware/Synergy-Binaries/releases) section:
The following binaries available in the [Releases](https://github.com/DEAKSoftware/Synergy-Binaries/releases) section:
@ -18,13 +17,29 @@ The following binaries available in the [Releases](https://github.com/DEAKSoftwa
If you can't locate a binary package for your particular distribution, try building the project yourself.
If you can't locate a binary package for your particular distribution, try building the project yourself.
## Project Structure
## Cloning the Repository
### Preparation
Before you begin building Synergy, you need to recursively clone this project and its submodules:
The following files or directories should be of interest:
The following files or directories should be of interest:
File / Directory | Description
File / Directory | Description
--- | ---
--- | ---
[`Binaries`](./Binaries) | Output location for the build binaries.
[`Binaries`](./Binaries) | Output location for the build binaries.
[`Documentation`](./Documentation) | Documentation for various scripts.
[`Synergy-Core`](https://github.com/symless/synergy-core/) | The official Synergy Core submodule.
[`Synergy-Core`](https://github.com/symless/synergy-core/) | The official Synergy Core submodule.
[`Tools`](./Tools) | Temporary location for build tools.
[`Tools`](./Tools) | Temporary location for build tools.
[`buildLinux.sh`](./buildLinux.sh) | Shell script for building binaries in Linux Mint or Ubuntu.
[`buildLinux.sh`](./buildLinux.sh) | Shell script for building binaries in Linux Mint or Ubuntu.
@ -33,31 +48,20 @@ File / Directory | Description
<!-- [`buildMacOS.sh`](./buildMacOS.sh) | Shell script for building binaries in macOS. -->
<!-- [`buildMacOS.sh`](./buildMacOS.sh) | Shell script for building binaries in macOS. -->
## Official Documentation
## Building
If you choose to build Synergy manually, consult the following official documentation:
### Official Documentation
The information presented here is based on the [official wiki pages](https://github.com/symless/synergy-core/wiki). Anyone attempting to build Synergy should consult the official wiki pages first, particularly the following documentation:
@ -95,7 +99,7 @@ Optional, install the application:
sudo cmake --install .
sudo cmake --install .
### Launching Automatically
#### Launching Automatically
In Linux Mint we can launch `synergy` client automatically via _System Settings → Startup Applications_, then add an entry with the command:
In Linux Mint we can launch `synergy` client automatically via _System Settings → Startup Applications_, then add an entry with the command:
@ -103,15 +107,15 @@ In Linux Mint we can launch `synergy` client automatically via _System Settings
Substitute the `ClientName` with the local machine name, and the Synergy server IP `#.#.#.#` with whatever appropriate for your set-up.
Substitute the `ClientName` with the local machine name, and the Synergy server IP `#.#.#.#` with whatever appropriate for your set-up.
<!--
## macOS
### macOS
_Incomplete._
_Incomplete._
-->
## Windows
### Prerequisites
### Windows
#### Prerequisites
1. Install the following tools and dependencies:
1. Install the following tools and dependencies:
@ -130,11 +134,11 @@ _Incomplete._
* `libQtPath` - Path to the Qt library, Visual C++, 64-bit build.
* `libQtPath` - Path to the Qt library, Visual C++, 64-bit build.
* `vcvarsallCommand` - Path to Visual Studio's `vcvarsall.bat` command script, which sets compiler environment variables. See [Microsoft C++ toolset](https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=vs-2019) documentation for details.
* `vcvarsallCommand` - Path to Visual Studio's `vcvarsall.bat` command script, which sets compiler environment variables. See [Microsoft C++ toolset documentation](https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=vs-2019) for details.
* `cmakeGenerator` - Specifies the "generator" setting for cmake. Run `cmake --help` to choose the suitable generator for your current tool chain.
* `cmakeGenerator` - Specifies the "generator" setting for cmake. Run `cmake --help` to choose the suitable generator for your current tool chain.