آپ cmake میں سٹرنگ کو کیسے جوڑتے ہیں؟

How Do You Concatenate String Cmake



حل:

'$ {src} .out' ٹھیک کام کرنا چاہیے ، تاکہ آپ لکھ سکیں۔سیٹ (NAME '$ {src} .out') اور استعمال کریں۔$ {NAME} جہاں بھی آپ کو ضرورت ہو۔


تین عام CMake سٹرنگ کنیکٹی نیشن طریقے۔

جبکہ اس خاص سوال کا جواب بہترین طریقے سے سنبھالا جائے گا۔سیٹ یاسٹرنگ ، ایک تیسرا امکان ہے جو ہے۔اگر آپ صوابدیدی کردار کے ساتھ ڈور میں شامل ہونا چاہتے ہیں تو فہرست بنائیں۔



سیٹ ()

صرف ڈور کو بش کی طرح جوڑیں۔



سیٹ (FILE فائل) سیٹ (FILE_TXT $ {FILE} .txt) پیغام (STATUS 'FILE_TXT: $ {FILE_TXT}')

تار (CONCAT)

تمام ان پٹ دلائل کو ایک ساتھ جوڑیں اور نتیجہ کو نامزد آؤٹ پٹ متغیر میں محفوظ کریں۔



تار (CONCAT [...])

سٹرنگ (CONCAT MULTI 'xxxx' 'YYYY' 'xxxx') پیغام (STATUS 'MULTI: $ {MULTI}')

فہرست (ضمیمہ)

عناصر کو فہرست میں شامل کرتا ہے۔

فہرست (شامل کریں [...])



جب بات مرتب کرنے والے جھنڈوں کی ہو تو یہ انتخاب کا آلہ ہے۔ CMake میں فہرستیں صرف سیمیکولن سے الگ ہونے والی تاریں ہیں اور جب آپ ان کا حوالہ دیتے ہیں تو آپ کو سیمیکولن کے ساتھ فہرست مل جاتی ہے۔

فہرست (ضمیمہ جھنڈے '-ڈی آپشن 1') فہرست (ضمیمہ جھنڈے '-D آپشن 2') فہرست (ضمیمہ جھنڈے '-D آپشن 3') فہرست (جھنڈے '' جھنڈے) پیغام (اسٹیٹس 'جھنڈے:' $ {FLAGS}) 

اگر آپ صرف سٹرنگ ویلیو سے نمٹنا چاہتے ہیں تو @nonexplosive کا جواب دیکھیں۔

تاہم اگر آپ اپنے میں Cmake متغیر رکھنا چاہتے ہیں۔CMakeLists.txt اور اس متغیر کو کچھ قدر پر سیٹ کریں یا تو استعمال کریں: [string ()] Cmake 3.0+ کے لیے (https://cmake.org/cmake/help/v3.0/command/string.html) یاسیٹ () Cmake 2.0+ کے لیے۔

آپ کے پاس دو آپشن ہونے کی وجہ یہ ہے کہ پرانا cmake سپورٹ نہیں کرتا۔CONCAT خصوصیت

مثال CMakeLists.txt:

cmake_minimum_required (VERSION 2.8.11) project (Hello) string (CONCAT x 'hello' 'goodbye') set (y 'hellogoodbye') پیغام (STATUS 'DEBUG: x = $ {x}') پیغام (STATUS 'DEBUG: y = $ {y} ')

مکمل سٹڈ آؤٹ:

- DEBUG: x = hellogoodbye- DEBUG: y = hellogoodbye- کنفیگرنگ ہو چکی ہے- جنریٹ ہو چکی ہے- فائلیں بنائیں:/home/_______/testing/_______ پر لکھا گیا ہے