जनरेटर क्या है?
यह समझने के लिए कि जनरेटर क्या है, हमें पहले निर्माण प्रणाली क्या है, इसे देखने की आवश्यकता है। सीएमके किसी भी स्रोत फाइलों को संकलित या लिंक नहीं करता है। इसने जनरेटर से निर्माण प्रणाली के लिए कॉन्फ़िगरेशन फ़ाइलों को बनाया। बिल्ड सिस्टम उन फ़ाइलों का उपयोग स्रोत कोड फ़ाइलों को संकलित और लिंक करने के लिए करता है।
तो बिल्ड सिस्टम क्या है?
एक बिल्ड सिस्टम एक व्यापक शब्द है जो आम तौर पर संकलित और स्रोत कोड को लिंक करने के लिए उपयोग किए जाने वाले औजारों का एक समूह समूह करता है, लेकिन इसमें निर्माण प्रक्रिया के दौरान उपयोग किए जाने वाले सहायक उपकरण भी शामिल हो सकते हैं।
उदाहरण के लिए, एक बहु-स्तरीय निर्माण प्रणाली में, एक निष्पादन योग्य किसी अन्य निर्माण की निर्माण प्रक्रिया में उपयोग किए जाने के लिए बनाया जा सकता है।
उपकरण एक प्रणाली पर इस्तेमाल किया श्रृंखला के आधार पर, CMake CMakeLists.txt में जिक्र किया गया और .cmake फ़ाइलों का समर्थन स्रोत फ़ाइलों का निर्माण अनुमति देने के लिए एक से अधिक फ़ाइलों और फ़ोल्डरों उत्पन्न होगा।
कभी-कभी कंप्यूटर पर कई बिल्ड सिस्टम स्थापित किए जा सकते हैं, जैसे विंडोज़ के लिए आपके पास विजुअल स्टूडियो और मिनजीडब्लू बिल्ड सिस्टम हो सकता है। सीएमके आपको यह निर्दिष्ट करने की अनुमति देता है कि क्या इन बिल्ड सिस्टम को कॉन्फ़िगरेशन फाइलें उत्पन्न करने के लिए।
सीएमके में Command-Line
, IDE
, और Extra
जेनरेटर शामिल हैं।
कमांड-लाइन उपकरण जेनरेटर
इन जनरेटरों के लिए कर रहे हैं का निर्माण कमांड लाइन, उपकरण निर्माण मेक और निंजा की तरह। चयनित उपकरण श्रृंखला को सीएमके के साथ बिल्ड सिस्टम बनाने से पहले कॉन्फ़िगर किया जाना चाहिए।
निम्नलिखित का समर्थन कर रहे (**):
- बोर्लेन्ड Makefiles
- MSYS Makefiles
- MinGW Makefiles
- Nmake Makefiles
- Nmake Makefiles JOM
- निंजा
- यूनिक्स मेकफ़ाइल
- Watcom WMake
आईडीई उपकरण बिल्ड जेनरेटर
ये जनरेटर एकीकृत विकास वातावरण है कि उनके अपने संकलक में शामिल हैं के लिए कर रहे हैं। उदाहरण विजुअल स्टूडियो और एक्सकोड हैं जिनमें मूल रूप से एक कंपाइलर शामिल है।
निम्नलिखित का समर्थन कर रहे (**):
- दृश्य स्टूडियो 6
- दृश्य स्टूडियो 7
- दृश्य स्टूडियो 7 .NET 2003
- दृश्य स्टूडियो 8 2005
- दृश्य स्टूडियो 9 2008
- विजुअल स्टूडियो 10 2010
- विजुअल स्टूडियो 11 2012
- दृश्य स्टूडियो 12 2013
- दृश्य स्टूडियो 14 2015
- दृश्य स्टूडियो 15 2017
- ग्रीन हिल्स बहु
- Xcode
अतिरिक्त जेनरेटर
ये जनरेटर बना रहे एक कॉन्फ़िगरेशन एक वैकल्पिक आईडीई उपकरण के साथ काम करने के लिए और एक आईडीई या कॉम के साथ शामिल किया जाना चाहिए मंडल लाइन जनरेटर।
निम्नलिखित का समर्थन कर रहे (**):
- codeblocks
- CodeLite
- ग्रहण CDT4
- KDevelop3
- केट
- उदात्त पाठ 2
यदि मेरे पास मेरे प्रोजेक्ट में सी ++ फाइलों का एक सेट है, तो क्या ये इनपुट फाइलें हैं?
हां, वे इनपुट फ़ाइलों के हैं। मेक बिल्ड सिस्टम के लिए आपके पास मेकफ़ाइल भी है। विजुअल स्टूडियो के लिए आपके पास एक समाधान फ़ाइल (.sln) है। दोनों प्रणालियों के साथ अतिरिक्त फाइलें आवश्यक हैं कि सीएमके जानता है कि एक उचित CMakeLists.txt फ़ाइल को कैसे बनाया जाए।
यदि मैं लिनक्स का उपयोग कर रहा हूं, तो डिफ़ॉल्ट रूप से मेरा मूल निर्माण प्रणाली क्या है? बनाना?
आम तौर पर, हाँ, लेकिन अन्य निर्माण प्रणालियों को निंजा की तरह स्थापित किया जा सकता है।
जनरेटर द्वारा इनपुट फ़ाइलों को क्यों लिखा जाना चाहिए यदि वे पहले से मौजूद हैं?
कुछ स्रोत फ़ाइलें पहले से मौजूद हो सकती हैं, लेकिन सीएमके में हेडर और स्रोत फ़ाइलों को उत्पन्न करने की क्षमता है। जैसा ऊपर बताया गया है, वहां कॉन्फ़िगरेशन फ़ाइलें हैं जो जेनरेट की जानी चाहिए जो CMakeLists.txt फ़ाइल में दी गई स्रोत फ़ाइलों पर निर्भर करती हैं।
** documentation के अनुसार सीएमके संस्करण 3.9
के लिए