2011-11-19 15 views
6

चुनें मुझे पता है कि हाल ही में जब तक सीएमके द्वारा उत्पन्न एक्सकोड परियोजनाओं के लिए कोई विशिष्ट कंपाइलर चुनना संभव नहीं था (यह हमेशा xcodes डिफ़ॉल्ट कंपाइलर का चयन करेगा)। वैसे भी यह पोस्ट: http://cmake.3232098.n2.nabble.com/CMake-2-8-1-available-for-download-td4752230.html मुझे विश्वास दिलाता है कि यह एक विशिष्ट CMAKE_XCODE_ATTRIBUTE_ अब ध्वज के साथ संभव होना चाहिए। दुर्भाग्य से मैं न तो यह पता लगा सकता हूं कि कौन सा ध्वज xcodes कंपाइलर को बदलना है, न ही सीएमके द्वारा समर्थित सभी एक्सकोड झंडे की एक सूची।सीएमके, एक्सकोड कंपाइलर

मैं एक्सकोड 4.2 और सीएमके 2.8.6 का उपयोग कर रहा हूं, और मैं सीएमके के भीतर से एलएलवीएम 3.0 और एलएलवीएम जीसीसी 4.2 के बीच स्विच करने में सक्षम होना चाहता हूं।

जैसा कि मैंने एक सूची कहा है, जिसमें सभी एक्सकोड झंडे सूचीबद्ध हैं जो मैं सीएमके के भीतर से बदल सकता हूं!

धन्यवाद

संपादित करें:

set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42") 
:

CMake 2.8.6 के साथ, यदि आप एक xcode परियोजना है कि बजना/LLVM 3.0 के लिए डिफ़ॉल्ट नहीं है उत्पन्न करना चाहते हैं, तो निम्न का उपयोग

उत्तर

4

ऐसा लगता है कि सीएमके सिर्फ एक्सकोड प्रोजेक्ट फ़ाइल में सेट की गई विशेषता को पारदर्शी रूप से सेट करता है - इसलिए यह आपके इच्छित किसी भी और सभी विशेषताओं का समर्थन करता है।

मेरी एक्सकोड परियोजना फ़ाइलों में से किसी एक का निरीक्षण करके, जो विशेषता आप चाहते हैं वह GCC_VERSION है, और ये स्वीकार्य मान हैं (मेरा एक्सकोड 4.0.2, जीसीसी v4.2 है)।

GCC_VERSION = com.apple.compilers.llvm.clang.1_0; 
GCC_VERSION = 4.2 
GCC_VERSION = com.apple.compilers.llvmgcc42 

मेरे CMake प्रलेखन सुझाव देने के लिए आप XCODE_ATTRIBUTE_X नहीं CMAKE_XCODE_ATTRIBUTE_X भी सेट करना चाहते हैं कि लगता है।

+0

धन्यवाद, यह वास्तव में आशाजनक दिखता है, मैं इसे थोड़ा सा कोशिश करूंगा! – moka

+1

बढ़िया, यह काम करता है, लेकिन केवल CMAKE_XCODE_ATTRIBUTE उपसर्ग के साथ, यानी CMAKE_XCODE_ATTRIBUTE_GCC_VERSION। Ty! – moka

+0

कूल, मैंने उचित रूप से संपादित किया है। – James