CMake آؤٹ پٹ کو صاف کرنے کے لیے 'cmake clean' کمانڈ کی تلاش ہے۔

Looking Acmake Cleancommand Clear Up Cmake Output



حل:

CMake 3.X۔

CMake 3.X ایک 'صاف' ہدف پیش کرتا ہے۔

cmake --build C:/foo/build/ -target صاف۔

3.0.2 کے لیے CMake دستاویزات سے:



--clean-first = پہلے ہدف 'صاف' بنائیں ، پھر تعمیر کریں۔ (صرف صاف کرنے کے لیے ، -target 'clean' استعمال کریں۔)

CMake 2.X۔

وہاں نہیں ہےCMake ورژن 2.X میں cmake کلین۔



میں عام طور پر پروجیکٹ کو ایک فولڈر میں بناتا ہوں جیسے 'بلڈ'۔ تو اگر میں چاہوں۔صاف کرو ، میں صرف کر سکتا ہوں۔rm -rf تعمیر.



جڑ 'CMakeLists.txt' جیسی ڈائریکٹری میں 'بلڈ' فولڈر عام طور پر ایک اچھا انتخاب ہے۔ اپنے پروجیکٹ کی تعمیر کے لیے ، آپ صرف cmake کو CMakeLists.txt کا مقام بطور دلیل دیتے ہیں۔ مثال کے طور پر:cd /build && cmake ... (omicComicSansMS سے)


CMake آفیشل FAQ میں کہا گیا ہے:

جی این یو آٹو ٹولز کے ساتھ بنائے گئے کچھ درختوں کا 'میک ڈسٹکلین' ٹارگٹ ہوتا ہے جو تعمیر کو صاف کرتا ہے اور میک فائلز اور پیدا شدہ بلڈ سسٹم کے دیگر حصوں کو بھی ہٹا دیتا ہے۔ CMake ایک 'ڈسٹکلین' ٹارگٹ نہیں بناتا کیونکہ CMakeLists.txt فائلیں سکرپٹ اور من مانی کمانڈ چلا سکتی ہیں۔ CMake کے پاس ٹریک کرنے کا کوئی طریقہ نہیں ہے کہ کون سی فائلیں CMake چلانے کے حصے کے طور پر تیار کی جاتی ہیں۔ ڈسٹکلین ٹارگٹ فراہم کرنا صارفین کو غلط تاثر دے گا کہ یہ توقع کے مطابق کام کرے گا۔ (CMake کمپائلر اور لنکر کے ذریعہ تیار کردہ فائلوں کو ہٹانے کے لیے 'میک کلین' ٹارگٹ تیار کرتا ہے۔)



ایک 'میک ڈسٹکلین' ٹارگٹ صرف اس صورت میں ضروری ہے جب صارف ان سورس بلڈ انجام دے۔ CMake ان سورس بلڈز کی حمایت کرتا ہے ، لیکن ہم صارفین کو پرزور حوصلہ افزائی کرتے ہیں کہ وہ آؤٹ آف سورس بلڈ کے تصور کو اپنائیں۔ بلڈ ٹری کا استعمال جو کہ سورس ٹری سے الگ ہے ، CMake کو سورس ٹری میں کوئی فائل بنانے سے روک دے گا۔ چونکہ CMake ماخذ کے درخت کو تبدیل نہیں کرتا ، اس لیے کسی ہدف کی ضرورت نہیں ہے۔ کوئی بلڈ ٹری کو حذف کرکے یا ایک الگ بلڈ ٹری بنا کر نئی تعمیر شروع کرسکتا ہے۔


ہر جگہ گٹ کے ان دنوں میں ، آپ CMake کو بھول سکتے ہیں اور استعمال کرسکتے ہیں۔git clean -d -f -x ، جو تمام فائلوں کو ہٹا دے گا جو کہ سورس کنٹرول میں نہیں ہیں۔