2011-07-03 16 views
7
द्वारा उत्पन्न एक परियोजना में कॉन्फ़िगरेशन के आधार पर दृश्य स्टूडियो और Xcode exectuables का नाम बदलने

मैं क्या करने की जरूरत है सेटअप करने के लिए हैCMake: मेरे excecutable नाम हो CMake

program-debug for debug builds and 
program-release(or whatever) for other builds 

मैं एक सच्चे में करना चाहते हैं क्रॉस-प्लेटफ़ॉर्म तरीका और यह भी बहुत महत्वपूर्ण है - मैं एक्सकोड और वीएस -2008 को लक्षित करना चाहता हूं - इसलिए जब मैं एक प्रकार की ड्रॉप-डाउन सूची में कॉन्फ़िगरेशन बदलता हूं, तो इसमें आउटपुट के लिए सही नाम भी होना चाहिए! मैं .vcproj पुनर्जीवित या अन्य डी विकल्प के साथ .xcodeproj करने के लिए कोई चाहते हैं (लेकिन मैं होगा करने के लिए करता है, तो एक समाधान नहीं मिला होगा)

AFAIK cmake चर CMAKE_BUILD_TYPE मेकअप आधारित जनरेटर के लिए काम करना चाहिए - में कम से मूल्यांकन किया जाता है समय (अगर मैं गलत हूं तो मुझे सही करें)

असल में कुछ आईडीई/बिल्ड सिस्टम में कॉन्फ़िगरेशन के आधार पर लक्षित विकल्प (नस्लीय नाम नहीं) सेट करना है। यह समग्र सेमेक लक्ष्यों के लिए बहुत विशिष्ट हो सकता है, लेकिन शायद आप मदद कर सकते हैं।

बहुत बहुत धन्यवाद!

उत्तर

15

target properties की सूची पर एक नज़र डालें: उनमें से एक OUTPUT_NAME और OUTPUT_NAME_<CONFIG> है। पिछले एक-एक config-प्रकार (डीबग, रिलीज, MinSizeRel, आदि) आप set_target_properties के साथ अपने कार्यक्रम पर उन्हें सेट कर सकते हैं, उदाहरण के लिए सेट किया जा सकता:

project(YourProject) 

add_executable(myprogram ${YourSources}) 
set_target_properties(myprogram PROPERTIES OUTPUT_NAME_DEBUG program-debug) 
set_target_properties(myprogram PROPERTIES OUTPUT_NAME_RELEASE program-release) 

देखभाल है कि आप स्थापित करने की आवश्यकता ले लो RUNTIME_OUTPUT_NAME_<CONFIG> और/या LIBRARY_OUTPUT_NAME_<CONFIG> कुछ मामलों में भी।

+0

शानदार उत्तर, बहुत बहुत धन्यवाद !!! –