diff --git a/README_fa.md b/README_fa.md index 4f86b7a..cf3b1cd 100644 --- a/README_fa.md +++ b/README_fa.md @@ -62,7 +62,7 @@ https://matsuridayo.github.io ## آموزش کامپایل -[Linux](docs/Build_Linux.md) +[Linux](docs/Build_Linux_fa.md) [Windows](docs/Build_Windows.md) diff --git a/docs/Build_Linux_fa.md b/docs/Build_Linux_fa.md new file mode 100644 index 0000000..9dfda30 --- /dev/null +++ b/docs/Build_Linux_fa.md @@ -0,0 +1,74 @@ +کامپایل کردن 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.md](./Build_Core.md) مراجعه کنید.