मुझे अपने सीएमके फाइलों (सीएमके 2.8.10.2) में मेरे सी और सी ++ संकलन लाइनों में विभिन्न झंडे जोड़ने की जरूरत है। मुझे लगता है कि कुछ लोग add_definitions
का उपयोग करते हैं, लेकिन जो मैं देख सकता हूं उससे प्रीप्रोसेसर झंडे (-D
) के लिए है। मेरे पास कुछ झंडे हैं जो मैं प्रीप्रोसेसर को पास नहीं करना चाहता हूं।संकलक झंडे के लिए cmake सूची संलग्न फर्जी परिणाम पैदा करता है?
तो मैं CMAKE_C_FLAGS
और CMAKE_CXX_FLAGS
को संशोधित करने का प्रयास कर रहा हूं। मैं देख रहा हूँ कि कुछ लोगों को कुछ प्रयोग कर रहे थे की तरह:
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -new -flags -here")
लेकिन फिर मैं cmake डॉक्स में पढ़ा है कि यह कम कुशल है, और यह list(APPEND ...)
उपयोग करने के लिए, इस तरह है करने के लिए सही रास्ता:
list(APPEND CMAKE_C_FLAGS -new -flags -here)
हालांकि, जब मैं ऐसा करता हूं तो मेरी संकलन रेखा में अर्धविराम से अलग झंडे होते हैं और एक वाक्यविन्यास त्रुटि होती है। मैंने पढ़ा है कि अब यह सूचियां आंतरिक रूप से संग्रहित की जाती हैं, लेकिन मुझे लगता है कि जब मैं चर का उपयोग करता हूं तो इसे सेमेक द्वारा ख्याल रखा जाएगा। यह बहुत बुनियादी लगता है; क्या मुझसे कुछ गलत हो रही है? मेरा मतलब है, इन सूचियों में क्या अच्छा है, अगर उनका उपयोग तब तक नहीं किया जा सकता जब तक कि आप अर्धविराम से अलग मूल्यों की सूची नहीं चाहते हैं (और कौन चाहता है, मुझे लगता है कि विंडोज% पाथ% सेटिंग्स या कुछ अनुमान है)? क्या मुझे उद्धृत संस्करण का उपयोग करना चाहिए, भले ही दस्तावेज़ों का सुझाव है कि यह कम कुशल/उपयुक्त है?
मैं सेट() दृष्टिकोण हालांकि के रूप में यह है जब चीजें आदि को कॉपी वर के नाम में एक बेमेल होना आसान है के लिए मैक्रो का उपयोग नाम} "$ {$ {name}} $ {item}") एंडमैक्रो() – Trass3r