Deskflow 1.22.0.197
Keyboard and mouse sharing utility
|
To build Deskflow you will a minimum of:
^ Will be fetched if not found on the host system.
By default a build of Deskflow will:
Deskflow supports the following build options
CMake options:
Option | Description | Default Value | Additional requirements |
---|---|---|---|
BUILD_GUI | Build GUI | ON | |
BUILD_USER_DOCS | Build user documentation | DOXYGEN_FOUND | Doxygen |
BUILD_DEV_DOCS | Build development documentation | OFF | Doxygen |
BUILD_INSTALLER | Build installers/packages | ON | |
BUILD_TESTS | Build unit tests and legacy tests | ON | gtest |
BUILD_UNIFIED | Build unified binary (client+server) | OFF | |
ENABLE_COVERAGE | Enable test coverage | OFF | gcov |
SKIP_BUILD_TESTS | Skip running of tests at build time | OFF |
Example cmake configuration. cmake -S. -Bbuild -DCMAKE_INSTALL_PREFIX=<INSTALLPREFIX>
It is recommended to use vcpkg to get the dependencies to install. The first configuration will build all depends while configuing the project. If you do not want to instal qt via vcpkg you should remove the qt packages from vcpkg.json in the of the project BEFORE attempting to configure the project.
After Configuring you should be able to run make to build all targets.
cmake --build build
To test installation run DESTDIR=<installDIR> cmake --install build to install into <installDir>/<CMAKE_INSTALL_PREFIX>
Running cmake --install build will install to the CMAKE_INSTALL_PREFIX
Deskflow can generate several packages using cpack. To generate packages build the package or package_source target. Example: cmake --build build --target package package_source would generate both package and package source packages. Deskflow can generate several package types depending on the system. Archive-based packages should work on all platforms. On Linux deb and rpm info is set up, flatpaks can be generated from the included file in deploy/linux and a PKGBUILD for Arch linux is generated in the build folder. On macos a dmg file will be created and signed. For windows wix can be used to create an installer.