
طريقة بناء محاكي Eden من المصدر على Windows وLinux وmacOS
<header class="eb-hero"><p>هذا الدليل مخصص للمطورين والـPackagers فقط. بناء Eden من المصدر
يحتاج معرفة بـGit وCMake والمترجمات وحل أخطاء الاعتماديات، وليس
الطريقة المناسبة للمستخدم اللي يبي يشغل المحاكي فقط.
</p>
</header>
<div class="eb-logo">
<a href="https://git.eden-emu.dev/eden-emu/eden" rel="noopener noreferrer" target="_blank">
<img alt="شعار محاكي Eden الرسمي" loading="eager" src="https://eden-emu.dev/assets/logos/named_logo.png" />
</a>
</div>
<section class="eb-user-card">
<span class="eb-user-label">للمستخدم العادي</span>
<h3>Eden Emulator 2025: تثبيت وتشغيل Switch</h3>
<p>
ما تحتاج تبني المشروع من المصدر عشان تستخدم Eden. تابع شرح التثبيت
والتشغيل الجاهز في قناة HAKAMIQ بدل الدخول في بيئة التطوير.
</p>
<a class="eb-user-button" href="https://www.youtube.com/@HAKAMIQ/search?query=Eden%20Emulator%202025" rel="noopener noreferrer" target="_blank">
فتح الفيديو داخل قناة HAKAMIQ
</a>
</section>
<section class="eb-card">
<h3>تنبيه المطورين</h3>
<div class="eb-danger">
الدعم المخصص لعملية البناء غالبًا يُقدم للمطورين والـPackagers فقط.
لا تستخدم هذه الخطوات كبديل عن تنزيل Stable أو Nightly الجاهز.
</div>
<div class="eb-note">
تعليمات البناء والاعتماديات تتغير مع تطور المشروع. استخدم صفحة
المنصة الرسمية وراجع آخر تغييرات المستودع قبل تثبيت نسخ محددة من
CMake أو Qt أو المترجم.
</div>
</section>
<section class="eb-card">
<h3>الاعتماديات الأساسية</h3>
<p>
تختلف الحزم الدقيقة حسب النظام وطريقة البناء، لكن بيئة التطوير
تحتاج عادةً العناصر التالية:
</p>
<div class="eb-method-grid">
<div class="eb-method-card">
<strong>Git</strong>
لاستنساخ المستودع وتحديث المصدر.
</div>
<div class="eb-method-card">
<strong>CMake حديث</strong>
لتهيئة المشروع وتوليد ملفات البناء.
</div>
<div class="eb-method-card">
<strong>C++ Toolchain</strong>
مثل GCC أو Clang أو MSVC/clang-cl حسب النظام.
</div>
<div class="eb-method-card">
<strong>Qt 6 وVulkan</strong>
لبناء الواجهة الرسومية ومكونات العرض المطلوبة.
</div>
<div class="eb-method-card">
<strong>Ninja أو Generator مناسب</strong>
حسب طريقة البناء والبيئة المستخدمة.
</div>
<div class="eb-method-card">
<strong>حزم المنصة</strong>
مكتبات وأدوات إضافية موضحة في صفحة Dependencies الخاصة بنظامك.
</div>
</div>
<div class="eb-warning">
المشروع رفع الحد الأدنى لـCMake في الإصدارات الحديثة. لا تعتمد على
قوائم اعتماديات قديمة محفوظة في شروحات أو توزيعات سابقة.
</div>
</section>
<section class="eb-card">
<h3>استنساخ مصدر Eden</h3>
<p>
افتح Terminal أو PowerShell في المكان اللي تبي تحفظ المشروع داخله،
ثم نفذ:
</p>
<pre class="eb-code-block">git clone https://git.eden-emu.dev/eden-emu/eden.git
cd eden
<div class="eb-info">
تقدر تستنسخ المشروع من داخل Qt Creator عبر:
<span class="eb-code">Create Project → Import Project → Git Clone</span>.
</div>
</section>
<section class="eb-card">
<h3>بناء Android</h3>
<p>
نسخة Android تستخدم مسار بناء مختلف عن نسخ Desktop، لذلك ما تطبق
عليها خطوات Qt Creator أو CMake العامة الموجودة تحت.
</p>
<div class="eb-success">
افتح دليل <strong>Building for Android</strong> الرسمي والتزم بنسخ
Android Studio وSDK وNDK وGradle المذكورة فيه.
</div>
</section>
<section class="eb-card">
<h3>اختيار طريقة التهيئة والبناء</h3>
<div class="eb-method-grid">
<div class="eb-method-card">
<strong>Option A — Qt Creator</strong>
الطريقة الرسومية الموصى بها على Linux وmacOS وWindows.
<span>مناسبة لتحرير الكود والتهيئة والبناء والتشغيل من نفس الواجهة.</span>
</div>
<div class="eb-method-card">
<strong>Option B — Command Line</strong>
الأفضل للـCI والسكربتات والمطور اللي يعرف CMake وGenerators.
<span>الإعداد يتغير حسب النظام والمترجم.</span>
</div>
<div class="eb-method-card">
<strong>Option C — CLion</strong>
بيئة JetBrains مع CMake Profiles وToolchains.
<span>تحتاج ضبط Build Type وGenerator ومسار build.</span>
</div>
<div class="eb-method-card">
<strong>Option D — Visual Studio + clang-cl</strong>
خيار Windows لاستخدام Visual Studio Generator مع ClangCL.
<span>موجه للمطورين اللي يحتاجون اختبار clang-cl بدل MSVC.</span>
</div>
</div>
</section>
<section class="eb-card">
<h3>Option A — البناء باستخدام Qt Creator</h3>
<div class="eb-step-grid">
<div class="eb-step-row">
<span class="eb-step-number">1</span>
<div class="eb-step-text">
افتح مجلد مصدر Eden أو استنسخه مباشرة من Qt Creator.
</div>
</div>
<div class="eb-step-row">
<span class="eb-step-number">2</span>
<div class="eb-step-text">
اختر Kit مناسب لنظامك ومعمارية الجهاز.
</div>
</div>
<div class="eb-step-row">
<span class="eb-step-number">3</span>
<div class="eb-step-text">
خل Build Type على <span class="eb-code">Release</span>
للاستخدام الطبيعي، أو Debug فقط عند التشخيص.
</div>
</div>
<div class="eb-step-row">
<span class="eb-step-number">4</span>
<div class="eb-step-text">
راجع CMake Configuration واترك الخيارات الافتراضية أولًا.
</div>
</div>
<div class="eb-step-row">
<span class="eb-step-number">5</span>
<div class="eb-step-text">
اضغط <span class="eb-code">Ctrl+B</span>
أو أيقونة المطرقة لبدء البناء.
</div>
</div>
<div class="eb-step-row">
<span class="eb-step-number">6</span>
<div class="eb-step-text">
للتشغيل اضغط <span class="eb-code">Ctrl+R</span>
أو أيقونة Play.
</div>
</div>
</div>
</section>
<section class="eb-card">
<h3>Option B — البناء من Command Line</h3>
<p>
أمر التهيئة يختلف حسب النظام والـGenerator. المثال التالي يستخدم
Ninja وRelease على بيئة تدعمه:
</p>
<pre class="eb-code-block">cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake –build build –parallel
<div class="eb-note">
الأمر الأساسي المذكور في الدليل هو:
<span class="eb-code">cmake --build build</span>.
أضف <span class="eb-code">--parallel</span> مع Ninja أو UNIX Makefiles
أو Visual Studio 2022 لتسريع البناء إذا كانت الذاكرة والمعالج تسمح.
</div>
<div class="eb-warning">
لا تنسخ Generator من نظام مختلف. اختيار Ninja أو Visual Studio أو
UNIX Makefiles يعتمد على الأدوات المثبتة عندك.
</div>
</section>
<section class="eb-card">
<h3>Option C — البناء باستخدام CLion</h3>
<div class="eb-step-grid">
<div class="eb-step-row">
<span class="eb-step-number">1</span>
<div class="eb-step-text">
افتح المشروع داخل CLion وانتظر اكتمال فهرسة المصدر.
</div>
</div>
<div class="eb-step-row">
<span class="eb-step-number">2</span>
<div class="eb-step-text">
أنشئ CMake Profile باسم
<span class="eb-code">Release</span>.
</div>
</div>
<div class="eb-step-row">
<span class="eb-step-number">3</span>
<div class="eb-step-text">
اختر Toolchain الصحيح واترك Generator تلقائيًا إلا إذا
كانت صفحة منصتك تطلب غير ذلك.
</div>
</div>
<div class="eb-step-row">
<span class="eb-step-number">4</span>
<div class="eb-step-text">
خل Build Directory باسم
<span class="eb-code">build</span>.
</div>
</div>
<div class="eb-step-row">
<span class="eb-step-number">5</span>
<div class="eb-step-text">
اختر Target الخاص بـEden ثم نفذ Build أو Run.
</div>
</div>
</div>
</section>
<section class="eb-card">
<h3>Option D — Visual Studio مع clang-cl</h3>
<p>
هذا الخيار مخصص لبناء Windows باستخدام Visual Studio Generator
مع أداة ClangCL بدل مترجم MSVC الافتراضي.
</p>
<pre class="eb-code-block">cmake -S . -B build -G "Visual Studio 17 2022" -A x64 -T ClangCL
cmake –build build –config Release –parallel
<div class="eb-warning">
لازم تكون مكونات C++ وClang tools وWindows SDK مثبتة من Visual Studio
Installer. لو فشلت التهيئة، ارجع لصفحة Dependencies الخاصة بـWindows.
</div>
</section>
<section class="eb-card">
<h3>مكان الملف التنفيذي بعد البناء</h3>
<div class="eb-output-grid">
<div class="eb-output-card">
<strong>Windows</strong>
<code>build/bin/eden.exe</code>
</div>
<div class="eb-output-card">
<strong>macOS</strong>
<code>build/bin/eden.app/Contents/MacOS/eden</code>
</div>
<div class="eb-output-card">
<strong>Linux والأنظمة الأخرى</strong>
<code>build/bin/eden</code>
</div>
</div>
<div class="eb-info">
بعض الـGenerators متعددة الإعدادات قد تضيف مجلدًا خاصًا بـRelease
حسب طريقة التهيئة. راجع مخرجات CMake لو ما لقيت الملف في المسار المتوقع.
</div>
</section>
<section class="eb-card">
<h3>حل فشل Initial Configure</h3>
<div class="eb-step-grid">
<div class="eb-step-row">
<span class="eb-step-number">1</span>
<div class="eb-step-text">
راجع دليل Dependencies من البداية وتأكد أن الأدوات موجودة في PATH.
</div>
</div>
<div class="eb-step-row">
<span class="eb-step-number">2</span>
<div class="eb-step-text">
احذف CPM Cache:
<span class="eb-code">.cache/cpm</span>.
</div>
</div>
<div class="eb-step-row">
<span class="eb-step-number">3</span>
<div class="eb-step-text">
احذف CMake Cache:
<span class="eb-code"><build directory>/CMakeCache.txt</span>.
</div>
</div>
<div class="eb-step-row">
<span class="eb-step-number">4</span>
<div class="eb-step-text">
اقرأ أول Error فعلي في سجل Configure، مو آخر سطر فقط.
</div>
</div>
<div class="eb-step-row">
<span class="eb-step-number">5</span>
<div class="eb-step-text">
راجع إعدادات CPM لمعرفة هل تحتاج إجبار المشروع على Bundled Package.
</div>
</div>
<div class="eb-step-row">
<span class="eb-step-number">6</span>
<div class="eb-step-text">
لو استمرت المشكلة، ارفق سجل Configure كامل عند طلب الدعم
في Stoat أو Discord الخاص بالمشروع.
</div>
</div>
</div>
<div class="eb-danger">
حذف <span class="eb-code">CMakeCache.txt</span> وحده قد ما يكفي إذا
تغير Generator أو Toolchain. أحيانًا الأفضل حذف مجلد build كامل
وإنشاؤه من جديد.
</div>
</section>
<section class="eb-card">
<h3>Caveats الخاصة بالمنصات</h3>
<p>
Windows وLinux وmacOS وبقية الأنظمة لها اختلافات في المترجمات
والمكتبات ومسارات التشغيل والتوقيع وحزم الرسوميات. راجع Caveats
الخاصة بمنصتك قبل اعتبار أي خطأ مشكلة في كود Eden نفسه.
</p>
</section>
<section class="eb-card">
<h3>استخدام سكربتات CI</h3>
<p>
مستودع Eden يحتوي سكربتات CI تقدر تراجعها لفهم طريقة إعداد بيئات
البناء الرسمية. على أي POSIX Shell يمكن الاستفادة من:
</p>
<pre class="eb-code-block">.ci/common/configure.sh</pre>
<div class="eb-warning">
المطورون يشجعون على كتابة سكربتك الخاص اعتمادًا على CMake بدل نسخ
سكربت CI كامل بدون فهم؛ سكربتات CI قد تحتوي افتراضات خاصة بخوادم البناء.
</div>
</section>
<section class="eb-source-card">
<h3>المصادر والروابط الرسمية</h3>
<div class="eb-links">
<a class="eb-link" href="https://git.eden-emu.dev/eden-emu/eden" rel="noopener noreferrer" target="_blank">
مستودع Eden الرسمي
</a>
<a class="eb-link" href="https://git.eden-emu.dev/eden-emu/eden/wiki/Building-for-Windows.-" rel="noopener noreferrer" target="_blank">
دليل البناء على Windows
</a>
<a class="eb-link" href="https://git.eden-emu.dev/eden-emu/eden/wiki/Building-for-Linux.-" rel="noopener noreferrer" target="_blank">
دليل البناء على Linux
</a>
<a class="eb-link" href="https://git.eden-emu.dev/eden-emu/eden/wiki/Building-for-Android" rel="noopener noreferrer" target="_blank">
دليل البناء على Android
</a>
<a class="eb-link" href="https://git.eden-emu.dev/eden-emu/eden/wiki/?action=_pages" rel="noopener noreferrer" target="_blank">
جميع صفحات Eden Wiki
</a>
<a class="eb-link" href="https://eden-emu.dev/downloads/" rel="noopener noreferrer" target="_blank">
تنزيل Builds الجاهزة
</a>
<a class="eb-link" href="https://git.eden-emu.dev/eden-emu/eden/src/branch/master/.ci" rel="noopener noreferrer" target="_blank">
سكربتات CI في المستودع
</a>
<a class="eb-link" href="https://www.youtube.com/@HAKAMIQ/search?query=Eden%20Emulator%202025" rel="noopener noreferrer" target="_blank">
شرح Eden في قناة HAKAMIQ
</a>
</div>
</section>
<footer class="eb-footer">
<p>
ابدأ بالاعتماديات الخاصة بمنصتك، ثم استنسخ المصدر وهيئ CMake
ببيئة صحيحة. عند فشل البناء، اعتمد على أول خطأ فعلي ونظف Cache
قبل تغيير خيارات عشوائية.
</p>
</footer>