में निष्पादन योग्य लक्ष्यों को अक्षम करने का एक सामान्य तरीका है हमारे सीएमके निर्माण प्रणाली के साथ मैं कुछ पुस्तकालयों और कुछ निष्पादन योग्य बनाता हूं। निर्माण उत्पाद सभी विशिष्ट फ़ोल्डर में आउटपुट होते हैं।क्या cmake
अब समस्या यह है कि मेरे पास वीएस -2010 और वीएस -2008 टूलचेन है लेकिन मुझे केवल वीएस -2008 पुस्तकालयों के लिए वीएस -2008 टूलचैन की आवश्यकता है। आउटपुट निष्पादन योग्य उपकरण दोनों के लिए Win32 लक्ष्य हैं इसलिए मुझे केवल VS2010 टूलचैन के माध्यम से निष्पादन योग्य बनाने की आवश्यकता है जबकि VS2008 टूलचेन को केवल निष्पादन योग्य छोड़ना चाहिए और केवल वांछित पुस्तकालयों (जो निर्माण समय बचाता है) बनाना चाहिए।
सीएमके बेस स्क्रिप्ट और समग्र सेटअप भविष्य में ग्राहकों को भी पहुंचाया जा सकता है, इसलिए यदि सीएमके में कुछ लक्ष्य अक्षम करने के लिए कोई रास्ता है, तो सभी निष्पादन योग्य सामान्य तरीके से अक्षम होना बहुत अच्छा होगा। अन्यथा मुझे कई बड़े IF (BUILD_EXECUTABLES) लिखना होगा ... ENDIF() मेरे CMakeLists.txt में मेरे निष्पादन योग्य सेटअप के आसपास बना है, जब मैं उन्हें भूल जाता हूं तो सीएमके बिना त्रुटियों के मुझे त्रुटि देता है।
बिल्ड कुछ बैच फ़ाइलों के माध्यम से ट्रिगर किया गया है। आदर्श रूप में मैं (उदाहरण के लिए "डी BUILD_EXECUTABLES = false") डी विकल्प के माध्यम से CMake को
मैं ADD_EXECUTABLE मैक्रो लपेटो करने की कोशिश की एक चर पास करना चाहते हैं, लेकिन उस के बाद से मैं TARGET_LINK_LIBRARIES जो तब शिकायत की तरह कॉल कर काम नहीं करता है बिना किसी लक्ष्य के लक्ष्य के बारे में।
मैं भी जो बाद में हटाया जा सकता है कुछ कचरा फ़ोल्डर में उत्पादन निर्देशिका
कोई भी विचार कैसे पूरा करने के लिए सेट कर सकते हैं, लेकिन वह (पहले से ही उल्लेख किया) समय का निर्माण नहीं बचा होगा (हम एक काफी विशाल परियोजना है) कि स्वच्छ और सामान्य तरीके से?
शानदार, कि बहुत अच्छी तरह से काम करता है। धन्यवाद। – ecreif