cmake-ide هي حزمة لتمكين ميزات تشبه IDE على EMACs لمشاريع CMAKE. كما أنه يدعم المشاريع غير المحددة طالما يتم إنشاء قاعدة بيانات التجميع خارج النطاق. ويشمل هذا الإكمال التلقائي والتحقق من بناء الجملة على أساس النقل في EMACs لمشاريع CMAKE مع الحد الأدنى من التكوين. يستخدم حزمًا أخرى للقيام برفعها الثقيل ، في مزيج من:
سيقوم cmake-ide بتعيين المتغيرات ووظائف المكالمات للحزم المعتمدة المثبتة.
إنه يعمل عن طريق تشغيل CMake في EMACs من أجل الحصول على أعلام التحويل البرمجي اللازمة لتمرير الأدوات الأخرى. نظرًا لأن جميع التبعيات محددة في البرامج النصية CMAKE ، فليس هناك حاجة للحفاظ على نظام تتبع التبعية الموازي لـ EMACs. فقط اسأل Cmake.
auto-complete-clang ، و flycheck وغيرها لمشروع CMAKE بشكل تلقائي. بالكاد أي تكوين ضروري.cmake-ide-build-dir .cmake-ide-delete-file أن يكون لديك نفس الراحة عند حذف الملفات. لا يمكنني معرفة طريقة أفضل للقيام بذلك. من الواضح أن حذف الملف يعني الاضطرار إلى تشغيل Cmake مرة أخرى يدويًا لتسجيل التغيير في قائمة الملفات المراد تجميعها.cmake-ide-build-dir ، فإنه يعتبر دليل الإنشاء لتشغيل Cmake. بالإضافة إلى ذلك ، سيؤدي ذلك إلى cmake-ide-compile في تجميع المشروع هناك. يكتشف تلقائيًا النينجا ويقوم ببناء ويضع أمر الترجم وفقًا لذلك. يمكن تخصيص الأمر الذي يجب استخدامه عن طريق تعيين متغير cmake-compile-command .cmake-ide من RTAGs لإيجاد التعريفات ، وكذلك باستخدام Clang. إذا تم استدعاء (require 'rtags) قبل cmake-ide-setup ، فسيقوم تلقائيًا بتشغيل خادم RTAGS ( rdm ) واتصل rc -J لفهرسة ملفات المشروع لـ 0-config "Jump to Depironment" وكل شيء آخر يقدمه RTAGS. يعمل هذا فقط إذا تم تخصيص كل من rdm و rc وفي مسار النظام أو إذا تم تخصيص cmake-ide-rdm-executable و cmake-ide-rc-executable بشكل صحيح. يمكن لـ cmake-ide إنشاء أدلة بناء تلقائيًا-إما في دليل TMP للنظام أو تحت cmake-ide-build-pool-dir (إذا تم تعيينه). بشكل افتراضي ، سيكون لجميع أدلة الإنشاء التي تم إنشاؤها تلقائيًا (بغض النظر عن مكان الإنشاء) أسماء مؤقتة وفريدة من نوعها ، والتي ستتغير مع كل جلسة جديدة وبالتالي لا يمكن إعادة استخدامها. ومع ذلك ، يمكنك ، من خلال ضبط cmake-ide-build-pool-use-persistent-naming استخدام نظام تسمية قابل للتكرار يعتمد على مسار المشروع ولن يتغير طالما أن مسار المشروع هو نفسه. بهذه الطريقة ، يمكنك إعادة استخدام دليل الإنشاء.
باستخدام كل من cmake-ide-build-pool-dir و cmake-ide-build-pool-use-persistent-naming ، يمكنك التخلص تمامًا من الحاجة إلى تكوين دليل بناء لكل مشروع مع متغيرات محلية للدليل (على سبيل المثال).
use .dir-locals.el لتعيين متغيرات cmake-ide-project-dir و cmake-ide-build-dir (استخدم المسارات المطلقة).
.dir-locals.el: ((Nil. ((cmake-ide-build-dir.
إذا كان هناك ملف يسمى compile_commands.json في cmake-ide-build-dir ، فسيعمل بشكل جيد وكذلك لمشاريع cmake. يمكن استخدام Bear (https://github.com/rizsotto/bear) لإنشاء compile_commands.json من أمر صنع.
التثبيت من MELPA أو MELPA مستقرة مع:
M-x package-install RET cmake-ide.
أضف هذا إلى .emacs / init.el :
(require 'rtags) ;; optional, must have rtags installed
(cmake-ide-setup)
إذا تم تعيين cmake-ide-flags-c أو cmake-ide-flags-c++ ، فسيتم إضافتها إلى أفعال ac-clang-flags و company-clang-arguments . يجب تعيين هذه المتغيرات. على وجه الخصوص ، يجب أن تحتوي على النظام على مسارات (على سبيل المثال '("-I/usr/include/c++/4.9.1" "...") . بالنسبة لنظام مع GCC ، يمكنك الحصول على هذه المعلومات عن طريق تشغيل gcc -v -xc++ /dev/null -fsyntax-only (إنها نفس الشرط المسبق auto-complete-clang إلى العمل على هذا العمل.
و ... هذا كل شيء. إنه يعمل عن طريق استدعاء Cmake وتوحل ملف JSON الناتج مع أعلام التحويل البرمجي. اضبط cmake-ide-build-dir على المكان الذي يتم فيه بناء مشروعك ولن تضطر إلى الاتصال بـ CMake يدويًا مرة أخرى (باستثناء المرة الأولى لتحديد الخيارات). أفضل القيام به مع دليل المتغيرات المحلية.