docs(build): Fix minor nits in build docs
This commit is contained in:
committed by
Chris Rizzitello
parent
92e3e9ac64
commit
82e23716ac
@ -21,6 +21,7 @@
|
||||
"dotenv",
|
||||
"Evenson",
|
||||
"Feder",
|
||||
"Flatpaks",
|
||||
"Fourdan",
|
||||
"gdrive",
|
||||
"Hadzhylov",
|
||||
|
||||
@ -11,47 +11,50 @@ 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:
|
||||
- The GUI application deskflow
|
||||
- The Core application deskflow-core
|
||||
- The GUI application `deskflow`
|
||||
- The Core application `deskflow-core`
|
||||
- Documentation if [doxygen] was found on your system
|
||||
- Tests that will be run as part of the build process.
|
||||
- Tests that will be run as part of the build process
|
||||
|
||||
## Configuration
|
||||
Deskflow supports the following build options
|
||||
|
||||
CMake options:
|
||||
Deskflow supports the following CMake options:
|
||||
|
||||
| Option | Description | Default Value | Additional requirements |
|
||||
:-------------------------:|:---------------------------------------:|:------------------:|:-----------------------:|
|
||||
| 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_X11_SUPPORT | Build X11 backend (linux and bsd only) | ON | `x11 libs`|
|
||||
| BUILD_OSX_BUNDLE | Build an app bundle (mac os only) | ON | |
|
||||
| BUILD_X11_SUPPORT | Build X11 backend (Linux and BSD only) | ON | `x11 libs`|
|
||||
| BUILD_OSX_BUNDLE | Build an app bundle (macOS only) | ON | |
|
||||
| ENABLE_COVERAGE | Enable test coverage | OFF | `gcov` |
|
||||
| SKIP_BUILD_TESTS | Skip running of tests at build time | OFF | |
|
||||
| VCPKG_QT | Build Qt w/ vcpkg (windows only) | OFF | |
|
||||
| VCPKG_QT | Build Qt w/ vcpkg (Windows only) | OFF | |
|
||||
| CLEAN_TRS | Remove obsolete strings from tr files | OFF | |
|
||||
| APPLE_CODESIGN_DEV | Apple codesign cert ID for development | Not set | |
|
||||
|
||||
Example cmake configuration.
|
||||
Example cmake configuration:
|
||||
`cmake -S. -Bbuild -DCMAKE_INSTALL_PREFIX=<INSTALLPREFIX>`
|
||||
|
||||
### Windows Configuration
|
||||
|
||||
It is recommended to use vcpkg to install the dependencies. The first time you configure Deskflow, all dependencies other than Qt will be built. If you don't want to use vcpkg, you must manually setup the dependencies. However, that will not be covered by this document.
|
||||
|
||||
#### Windows and Qt
|
||||
|
||||
There are two ways you can install [Qt] on Windows (vcpkg or Qt online installer). The default configuration expects you to use the Qt online installer. You should not install Qt in both ways, as having both can cause some weird things to happen, like Qt getting libs from one install and plugins from the other. When switching between them, remove the previous install first.
|
||||
|
||||
##### System Qt
|
||||
|
||||
1. Download and install the [Qt] online installer from their website.
|
||||
2. Add the path of Qt's cmake files to your system path. (Skipping this may require you provide this path to cmake via `Qt6_DIR` at configure time)
|
||||
- Often `C:\Qt\<version>\<msvcinfo>\lib\cmake`
|
||||
2. Add the path of Qt's cmake files to your system path (skipping this may require you provide this path to cmake via `Qt6_DIR` at configure time).
|
||||
- Often: `C:\Qt\<version>\<msvcinfo>\lib\cmake`
|
||||
3. Add the path of Qt's binary tools to your system path.
|
||||
- Often `C:\Qt\<version>\<msvcinfo>\bin`
|
||||
- Often: `C:\Qt\<version>\<msvcinfo>\bin`
|
||||
|
||||
##### vcpkg managed Qt
|
||||
|
||||
##### Vcpkg managed Qt
|
||||
1. Add the option `-DVCPKG_QT=ON` to your cmake configuration command (i.e `cmake -S. -Bbuild -DVCPKG_QT=ON ...`) or if using an IDE, look for the option where you configure the project, have the IDE run cmake again.
|
||||
2. Once the configuration starts, you should see a lot more packages vcpkg will build. Building Qt takes a long time (potentially hours), so go find something else to do for a while.
|
||||
3. If you want to use the system Qt again, you must delete the `vcpkg.json` generated in the project root and the `build` folder and reconfigure the project from scratch.
|
||||
@ -75,20 +78,28 @@ For development codesign:
|
||||
8. To verify, run: `codesign -d -r- build/bin/Deskflow.app`
|
||||
|
||||
## Build
|
||||
|
||||
After configuring you should be able to run make to build all targets.
|
||||
|
||||
`cmake --build build`
|
||||
|
||||
## Install
|
||||
To test installation run `DESTDIR=<installDIR> cmake --install build` to install into `<installDir>/<CMAKE_INSTALL_PREFIX>` <br>
|
||||
|
||||
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`
|
||||
|
||||
## Making Deskflow packages
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
[Qt]:https://www.qt.io
|
||||
[doxygen]:http://www.stack.nl/~dimitri/doxygen/
|
||||
|
||||
Reference in New Issue
Block a user