मैं C ++ में एक नया प्रोजेक्ट शुरू करने पर विचार कर रहा हूं - बस अपने समय में शुरू में - और मैं उपलब्ध सिस्टम की जांच कर रहा हूं जो उपलब्ध हैं। ऐसा प्रतीत होता है कि उत्तर "कई हैं, और वे सभी भयानक हैं"।
इसके लिए विशेष रूप से मुझे जो सुविधाएँ चाहिए वो हैं:
- C ++ 11 समर्थन
- क्रॉस प्लेटफॉर्म (मुख्य लक्ष्य के रूप में लिनक्स, लेकिन कम से कम विंडोज पर भी निर्माण करने में सक्षम)
- निर्णय इकाई परीक्षण समर्थन
- कोड को अलग करने के लिए कई मॉड्यूल के लिए समर्थन
- कोड जनरेशन के लिए सहायता (asn1c या प्रोटोबुफ़ का उपयोग करना - अभी तक 100% सुनिश्चित नहीं है)
- संभालने में आसान
अब, मुझे पता है कि मैं सीएमके और ऑटोटूलस का उपयोग करने वालों में से 1-4 आसानी से कर सकता हूं। शायद SCons और Waf के साथ भी और दूसरों के जोड़े के साथ भी। समस्या यह है कि मैंने कभी भी काम नहीं किया है कि कोड का उपयोग सही तरीके से कैसे किया जाए - यह स्रोत फाइलें हैं जो तब तक मौजूद नहीं होती हैं जब तक कि निर्माण प्रक्रिया पहले नहीं चलती है, इसलिए स्रोत फाइलें जो बिल्ड सिस्टम को निष्पादन योग्य कोड में बदलने में सक्षम होनी चाहिए। लेकिन वास्तव में निर्माण शुरू होने तक के बारे में नहीं पता है ... (ASN1C विशेष रूप से दर्जनों हेडर और स्रोत फ़ाइलें उत्पन्न करता है जो एक साथ काम करने में सक्षम होना चाहिए, और उत्पन्न फ़ाइलों का वास्तविक सेट आपकी एएसएन फ़ाइल की सामग्री पर निर्भर करता है) इस तथ्य को भी कि इनमें से कोई भी विशेष रूप से बनाए रखने में आसान नहीं है - सीएमके और ऑटोटूलस के पास स्क्रिप्ट का अपना विशाल सेट है जिसे आपको काम करने के लिए उन्हें प्रबंधित करने की आवश्यकता है,
तो - क्या बिल्ड सिस्टम कुछ इस तरह के लिए सिफारिश की है? या मैं अभी के लिए फ़ाइलें और शेल स्क्रिप्ट बनाने के साथ फंस जाएगा?