الطريقة الصحيحة للحصول على الخروج من بناء مصدر في مشروع cmake متعددة الأجزاء

StackOverflow https://stackoverflow.com/questions/1230644

  •  22-07-2019
  •  | 
  •  

سؤال

وأنا استخدم cmake لبناء واختبار وتثبيت مشروعي. طريقي هو القليل من النفط الخام: يمكنني استخدام البرامج النصية مثل هذا للحصول على مهلة مصدر بناء:

DIR=debug_build &&
rm -fr ./${DIR} &&
mkdir -p ${DIR} &&
cd ${DIR} &&
cmake -D CMAKE_BUILD_TYPE=Debug $@ .. &&
make 

واعتقد انني يمكن على الأقل وضعه في MAKEFILE، ولكن ليس هو غريب لاستخدام ماكيفيلي لتشغيل cmake لتوليد Makefiles جديدة وتشغيل جعل آخر؟

ما هي الطريقة الصحيحة للقيام بذلك؟ هل cmake ديك خيار لتجنب استدعاء "سي دي"؟

ومؤخرا أصبح أكثر تعقيدا وأنا factoread من المكتبة التي أود أن تجميع واختبار وتوزيع على حدة. أريد أن تجنب الازدواجية في كل الاشياء لدي في بلدي أعلى CMakeLists.txt.

وكيفية القيام بذلك بشكل صحيح مع cmake؟

هل كانت مفيدة؟

المحلول

لا، CMake ليس لديها أي خيار من هذا القبيل. وعادة ما ترغب في الحصول على ماكيفيلي المجمع للسيطرة CMake-الدعاء.

والقضية الرئيسية هنا هي أن ماكيفيلي مولد لا يدعم تحديد التكوين عند تشغيل جعل، ومولد البصرية ستوديو لا. أنا أعتقد أن هناك ميزة طلب تقدمت بطلب لذلك، ولكن سيكون من إجراء الغازية جدا لإصلاح.

نصائح أخرى

ويبدو أن هذا الشكل الأكثر شيوعا من التعامل مع هذا. رأيت عادة (واستخدامها) مخطوطات دفعة (إما قذيفة البرمجة النصية على يونكس، أو الملفات الدفعية فقط على نظام التشغيل Windows) للتعامل مع هذا، لذلك تعمل ./build سيتم إنشاء مجلد بناء، CD هناك، تشغيل cmake، بناء، ثم انتقل العودة إلى المجلد الأصلي.

واحد ويمكن أيضا استخدام CMake واجهة المستخدم الرسومية الأمر الذي سيخلق المجلد بناء تلقائيا إذا لم يكن موجودا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top