mirror of
https://github.com/YACReader/yacreader
synced 2026-03-02 10:50:04 -05:00
86 lines
6.5 KiB
Markdown
86 lines
6.5 KiB
Markdown
| Build | Master | Develop |
|
|
|---|---|---|
|
|
|Code Validation |[](https://dev.azure.com/luisangelsm/YACReader/_build/latest?definitionId=1&branchName=master)|[](https://dev.azure.com/luisangelsm/YACReader/_build/latest?definitionId=1&branchName=develop)|
|
|
|Linux | [](https://dev.azure.com/luisangelsm/YACReader/_build/latest?definitionId=1&branchName=master) | [](https://dev.azure.com/luisangelsm/YACReader/_build/latest?definitionId=1&branchName=develop)|
|
|
|Windows x86| [](https://dev.azure.com/luisangelsm/YACReader/_build/latest?definitionId=1&branchName=master)|[](https://dev.azure.com/luisangelsm/YACReader/_build/latest?definitionId=1&branchName=develop)|
|
|
|Windows x64| [](https://dev.azure.com/luisangelsm/YACReader/_build/latest?definitionId=1&branchName=master)|[](https://dev.azure.com/luisangelsm/YACReader/_build/latest?definitionId=1&branchName=develop)|
|
|
|MacOS | [](https://dev.azure.com/luisangelsm/YACReader/_build/latest?definitionId=1&branchName=master) | [](https://dev.azure.com/luisangelsm/YACReader/_build/latest?definitionId=1&branchName=develop)|
|
|
|Publish Build||[](https://dev.azure.com/luisangelsm/YACReader/_build/latest?definitionId=1&branchName=develop)|
|
|
|
|
# YACReader
|
|
|
|
"Yet another comic reader"
|
|
|
|
## License
|
|
This software has been developed by Luis Ángel San Martín Rodríguez
|
|
(luisangelsm@gmail.com) under GPL v3 license
|
|
(see [COPYING.txt](./COPYING.txt)).
|
|
|
|
## Getting YACReader
|
|
|
|
### Official releases:
|
|
[https://github.com/YACReader/yacreader/releases](https://github.com/YACReader/yacreader/releases)
|
|
|
|
[<img src="https://flathub.org/assets/badges/flathub-badge-en.png" width="100"/>](https://flathub.org/apps/details/com.yacreader.YACReader)
|
|
|
|
### As a package:
|
|
|
|
[](https://repology.org/metapackage/yacreader)
|
|
|
|
### From OBS build service:
|
|
|
|
### Building from source:
|
|
|
|
See [INSTALL.md](./INSTALL.md)
|
|
|
|
## Contact
|
|
- Project home page : www.yacreader.com
|
|
- e-mail:
|
|
- info@yacreader.com
|
|
- support@yacreader.com
|
|
- Social:
|
|
- Facebook - http://www.facebook.com/YACReader
|
|
- Twitter - https://twitter.com/yacreader
|
|
- YouTube - https://www.youtube.com/user/yacreader
|
|
- Instagram - https://www.instagram.com/yacreader/
|
|
|
|
If you need help or have any suggestion, please, send me an e-mail.
|
|
|
|
## Contributing
|
|
If you are interested in contributing to the project the first step should be to contact me so we can plan together the best approach, you can send an e-mail or just open an issue in this repo. For small bug fixes it is usually ok to open a PR directly.
|
|
|
|
Contributions are not restricted to coding; you can help the project by bringing new UI/UX ideas, designing new assets, writing manuals or tutorials, translating the apps, etc. If you are interested in DevOps, YACReader uses Azure Pipelines for CI/CD, any improvements in that area are welcome. Testing pre-releases is also really appreciated.
|
|
|
|
#### Dev Setup
|
|
YACReader is developed in *C++/Qt* and built with *CMake*. You need a *C++20* compiler and *Qt 6.7+*. In *Windows* I use *Visual Studio 2022* and in *macOS* I use Xcode, but I do all the coding using *QtCreator*.
|
|
|
|
The repo includes binaries for the dependencies needed for *Windows* (MSVC compiler) and *macOS* (clang). The *7zip* decompression backend source is downloaded automatically by CMake during configuration.
|
|
|
|
To build:
|
|
```
|
|
cmake -B build -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build build --parallel
|
|
```
|
|
|
|
See [INSTALL.md](./INSTALL.md) for detailed build options.
|
|
|
|
##### Running and debugging
|
|
YACReader needs to find its dependencies at runtime, make sure that *Qt* binaries are in your *PATH* and the third-party binaries are next to the executable. The best way to make sure you have all the third-party binaries in place is to check YACReader installation and copy the binaries in your output folder.
|
|
|
|
#### Code Format
|
|
YACReader uses `clang-format` to ensure a common style and avoid deviances from it. CI checks this and will fail if the correct format is not used. `clang-format` needs to be called recursively in all the folders because some of them have their own `.clang-format` file, mainly to exclude changing the format in third-party libraries which are included in the source code. I recommend configuring your development tools to use `clang-format`, you can try to use it manually, but please, do it always before committing changes. I recommend using QtCreator configured properly, you can find a tutorial [here]( https://www.vikingsoftware.com/using-clang-format-with-qtcreator/).
|
|
|
|
#### CI/CD
|
|
Any PR will be validated through CI, and it will not be merged if CI fails.
|
|
|
|
#### Pull Requests
|
|
The base and target branch for any PR should always be `develop`.
|
|
|
|
## Donations
|
|
YACReader is free but it needs money to keep being alive, so please, if you like YACReader, visit the home page and make a donation.
|
|
|
|
## Hacktoberfest
|
|
If you are interested in YACReader, please contact me so we can discuss your next steps.
|
|
|
|
## Sponsors
|
|
Free code signing on Windows provided by [SignPath.io](https://signpath.io/), certificate by [SignPath Foundation](https://signpath.org/) |