Building AppImage

Roman Telezhynskyi 2024-02-20 16:16:51 +02:00
parent 500c5a2bce
commit 797a219c55

@ -383,3 +383,34 @@ If you're using Qbs as the build system, open the `valentina.qbs` file with Qt C
Qt Creator provides a user-friendly interface for configuring build options and managing project settings. It streamlines the development process and makes it easier to navigate and work with the project files.
By leveraging Qt Creator, you can enhance your development workflow and efficiently build and manage the Valentina project.
## Building AppImage
To create an AppImage for Valentina, we use the project [appimage-builder](https://github.com/AppImageCrafters/appimage-builder). Before proceeding, it's essential to read their [documentation](https://appimage-builder.readthedocs.io/en/latest/) for a comprehensive understanding of the process.
### Recommendations
When building an AppImage, we recommend following the suggestions provided by the appimage-builder project and this guide. It's advisable to build with the oldest LTS version of Ubuntu. While it's possible to create an AppImage version on other distributions and with other AppImage build tools, it may require additional changes to the code.
### Setting up the Build Stage
To create an AppImage version, you must first set up the build stage. Add the following keys to your Qbs configuration:
- `modules.buildconfig.enableAppImage:true`
- `modules.buildconfig.enableRPath:false`
Additionally, set the path to the AddDir folder using `qbs.installRoot:<your path>/AppDir`.
### Creating the AppImage Package
Once the build stage is set up, you can create the AppImage package using the following command:
```bash
appimage-builder --recipe <project root>/dist/AppImage/AppImageBuilder.yml --appdir <your path>/AppDir --skip-test
```
Replace `<project root>` with the root directory of your Valentina project, and `<your path>` with the desired path to the AppDir.
This command generates the AppImage package based on the provided recipe and configuration. The `--skip-test` flag skips any test execution during the packaging process.
By following these steps, you can create an AppImage version of Valentina for distribution across different Linux systems.