استخدِم هذا الدليل لإعداد وإنشاء وقت تشغيل LiteRT باستخدام CMake على نظام التشغيل macOS. تغطي التعليمات كلاً من استهدافات الترجمة البرمجية المتقاطعة لنظام التشغيل Android (باستخدام macOS وLinux كجهاز مضيف) وعمليات الإنشاء الأصلية على نظامَي التشغيل macOS وLinux.
خطوات الإنشاء الشائعة
ثبِّت CMake 4.0.1 من: https://github.com/kitware/cmake/releases
تتوقّع جميع الإعدادات المُسبَقة للإنشاء أن تعمل من جذر المستودع:
cd ./litert
تتوفّر شجرات الإنشاء التي تم إنشاؤها ضمن cmake_build*. يمكن التحكّم في عمليات الإنشاء المتوازية من خلال -j باستخدام عدد النوى المطلوب.
نكهات الإصدار المتاحة
يتوافق LiteRT مع كل من إصدارَي الإصدار وتصحيح الأخطاء:
| الإعدادات المسبقة | النظام الأساسي | نوع الإصدار | دليل الإخراج |
|---|---|---|---|
default |
الكمبيوتر المكتبي (macOS/Linux) | الإصدار | cmake_build |
default-debug |
الكمبيوتر المكتبي (macOS/Linux) | تصحيح الأخطاء | cmake_build_debug |
android-arm64 |
Android arm64 | الإصدار | cmake_build_android_arm64 |
android-arm64-debug |
Android arm64 | تصحيح الأخطاء | cmake_build_android_arm64_debug |
تستخدِم إصدارات الإصدار -O3 -DNDEBUG لإنشاء ملفات ثنائية محسَّنة للإنتاج.
تستخدم إصدارات تصحيح الأخطاء الرمز -O0 -g لتصحيح الأخطاء مع توفُّر معلومات الرموز الكاملة.
الترجمة البرمجية المتقاطعة لنظام التشغيل Android (arm64)
ثبِّت حزمة Android NDK وصدِّر المسار ليتمكّن CMake من العثور عليه:
export ANDROID_NDK_HOME=/absolute/path/to/android-ndk-r27ضبط أدوات flatbuffer من جهة المضيف
cmake --preset android-arm64;اضبط إصدار LiteRT Android باستخدام الإعداد المُسبَق المتوفّر وأشِر إلى أدوات FlatBuffers التي تم إنشاؤها:
# For Release build: cmake --preset android-arm64 \ -DTFLITE_HOST_TOOLS_DIR="$(cd ../host_flatc_build/_deps/flatbuffers-build && pwd)" # For Debug build: cmake --preset android-arm64-debug \ -DTFLITE_HOST_TOOLS_DIR="$(cd ../host_flatc_build/_deps/flatbuffers-build && pwd)"إنشاء LiteRT لنظام التشغيل Android:
# For Release build: cmake --build cmake_build_android_arm64 -j # For Debug build: cmake --build cmake_build_android_arm64_debug -j
سيتم إصدار عناصر، مثل المكتبات الثابتة، ضمن دليل الإنشاء المناسب (cmake_build_android_arm64 أو cmake_build_android_arm64_debug).
إنشاء إصدارات لأجهزة الكمبيوتر المكتبي من أجهزة macOS وLinux
اضبط الإعداد المُسبَق التلقائي لإنشاء تطبيقات على الكمبيوتر:
# For Release build: cmake --preset default # For Debug build: cmake --preset default-debugإنشاء LiteRT:
# For Release build: cmake --build cmake_build -j # For Debug build: cmake --build cmake_build_debug -j
تخصيص هدف الإنشاء
تخصيص عمليات إنشاء CMake
استخدِم خيارات CMake للتحكّم في سلاسل الأدوات والميزات التي يتم تجميعها في الأهداف. مثلاً:
cmake -S . -B build-release \
-DCMAKE_BUILD_TYPE=Release \
-DLITERT_AUTO_BUILD_TFLITE=ON \
-DLITERT_ENABLE_GPU=OFF \
-DLITERT_ENABLE_NPU=OFF \
-DLITERT_DISABLE_KLEIDIAI=ON \
-DLITERT_HOST_C_COMPILER=/usr/bin/clang \
-DLITERT_HOST_CXX_COMPILER=/usr/bin/clang++
cmake --build build-release --target dispatch_api_Qualcomm_so -j8
- تتيح لك
LITERT_HOST_C_COMPILER/LITERT_HOST_CXX_COMPILERتوجيه أدوات المضيف المساعد إلى أي عملية تثبيت Clang/GCC بدون تعديلCMakeLists.txt. - تحافظ
LITERT_DISABLE_KLEIDIAIعلى إمكانية إعادة إنتاج إصدارات x86 من التطبيقات المخصّصة لأجهزة الكمبيوتر المكتبي من خلال تخطّي KleidiAI، ويمكنك ضبطها علىOFFعندما تريد تجميع المفوّض. - يجب دائمًا تمرير
-DCMAKE_BUILD_TYPE=Release(أو الإعداد المُسبَق المكافئ) عندما تحتاج إلى العنصر المحسّن. يؤدي ذلك إلى استخدام CMake-O3 -DNDEBUGنيابةً عنك.
إنشاء مكتبات المورّدين بأقل حجم
عند الربط، فعِّل ميزة إزالة الرمز غير المستخدَم لكي تتطابق أحجام مكتبات الإرسال مع حجم Bazel:
- macOS: أضِف
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="-Wl,-dead_strip -dead_strip_dylibs"(وينطبق الأمر نفسه علىCMAKE_EXE_LINKER_FLAGS_RELEASEإذا أردت إزالة الملفات التنفيذية). بعد الإنشاء، شغِّلstrip -x path/to/libLiteRtDispatch_Qualcomm.dylib. - في نظام التشغيل Linux: أضِف
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="-Wl,--gc-sections"وشغِّلstrip --strip-unneeded path/to/libLiteRtDispatch_Qualcomm.so(أو اجعلها أمرPOST_BUILD).
يمكن أن تكون هذه العلامات مباشرةً في إدخالات cmake --preset … ضمن CMakePresets.json، ما يتيح لكل مطوّر في فريقك الحصول على الإعدادات نفسها.
نصائح لتحديد المشاكل وحلّها
- احذف دليل
cmake_build*المقابل إذا غيّرت سلاسل الأدوات أو خيارات الضبط الرئيسية، ثم أعِد تنفيذ خطوة الضبط. - افحص
CMakeCache.txtداخل كل شجرة إنشاء بحثًا عن مسارات التبعيات التي تم حلّها.