nekoray/docs/Build_Linux_fa.md
AA 7655f0e16a
Farsi Docs updated (#1154)
* Create Build_Linux_fa.md

The Persian translation of the file Build_Linux.md has been added.

* Update README_fa.md

* change path of file

* Update README_fa.md

* Farsi Docs updated

* HookJS doc fixed
2024-01-09 23:48:52 +08:00

75 lines
3.5 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

کامپایل کردن nekoray در لینوکس
## کلون کردن کد با گیت
```
git clone https://github.com/MatsuriDayo/nekoray.git --recursive
```
## روش کامپایل ساده
پیش‌نیازها:
1. وابستگی‌های C++ به نام‌ها: `protobuf yaml-cpp zxing-cpp` باید با مدیریت بسته نصب شده باشند و با نسخه‌های مورد نیاز سازگار باشند.
2. باید `qtbase`، `qtsvg`، `qttools`، `qtx11extras` نصب شده باشد.
3. Qt با نسخه `5.12.x` یا `5.15.x` باید نصب شده باشد.
4. سیستم باید `x86-64-linux-gnu` باشد.
```shell
mkdir build
cd build
cmake -GNinja ..
ninja
```
پس از کامپایل، فایل nekoray به دست می‌آید.
فایل‌های فشرده را از Release استخراج کرده و nekoray را جایگزین کنید، سپس launcher را حذف کنید.
## روش دیگر کامپایل (پیشرفته)
### پارامترهای CMake
| پارامتر CMake | مقدار پیش‌فرض | توضیح |
|-------------------|-------------------|-----------------------|
| QT_VERSION_MAJOR | 5 | نسخه QT |
| NKR_NO_EXTERNAL | | شامل وابستگی‌های خارجی C/C++ (همه زیرمجموعه‌ها) نشود |
| NKR_NO_YAML | | شامل yaml-cpp نشود |
| NKR_NO_QHOTKEY | | شامل qhotkey نشود |
| NKR_NO_ZXING | | شامل zxing نشود |
| NKR_NO_GRPC | | شامل gRPC نشود |
| NKR_NO_QUICKJS | | شامل quickjs نشود |
| NKR_PACKAGE | | نسخه‌ی بسته را کامپایل کنید (aur) |
| NKR_PACKAGE_MACOS | | نسخه‌ی macOS را کامپایل کنید |
| NKR_LIBS | ./libs/deps/built | مسیر جستجوی وابستگی‌ها |
| NKR_DISABLE_LIBS | | وابستگی‌های NKR_LIBS غیرفعال شود |
1. مقدار `NKR_LIBS` به `CMAKE_PREFIX_PATH` اضافه می‌شود.
2. در صورت فعال بودن `NKR_PACKAGE`، مقدار پیش‌فرض `NKR_LIBS` برابر با `./libs/deps/package` است، جزئیات وابستگی‌ها در `build_deps_all.sh` قابل مشاهده است.
3. در صورت فعال بودن `NKR_PACKAGE_MACOS` یا `NKR_PACKAGE`، برنامه از دایرکتوری appdata برای ذخیره تنظیمات و سایر عملیات استفاده می‌کند و قابلیت به‌روزرسانی خودکار غیرفعال خواهد شد.
### C++
اگر توزیع شما وابستگی‌های C++ مورد نظر یا نسخه مورد نظر را نداشته باشد، می‌توانید به اسکریپت کامپایل `build_deps_all.sh` مراجعه کرده و خودتان کامپایل کنید.
پیش‌نیازها: Qt با نسخه `5.12.x` یا `5.15.x` باید نصب شده باشد.
#### کامپایل و نصب وابستگی‌های C/C++
(ممکن است به اتصال VPN نیاز داشته باشد)
```shell
./libs/build_deps_all.sh
```
#### کامپایل برنامه اصلی
```shell
mkdir build
cd build
cmake -GNinja ..
ninja
```
پس از کامپایل، فایل `nekoray` به دست می‌آید.
### کامپایل بخش Go
لطفاً به [Build_Core_fa.md](./Build_Core_fa.md) مراجعه کنید.