में लाइब्रेरी निर्भरता से हेडर शामिल हैं, मैं सी ++ रिपोजिटरी के लिए सीएमके के साथ थोड़ा सा प्रयोग कर रहा हूं, लेकिन मैं बिना किसी स्रोत पेड़ में पुस्तकालयों के खिलाफ अनुप्रयोगों को बनाने में आसान बनाने की कोशिश करने में कुछ परेशानी कर रहा हूं अतिरिक्त सीएमके कोड का।में आसानी से सेमेक
ROOT
libs/
lib1/
lib2/
lib3/
apps/
app1/
app2/
app3/
पुस्तकालयों एक दूसरे से स्वतंत्र हैं, और अनुप्रयोग एक या पुस्तकालयों में से अधिक के खिलाफ लिंक कर सकते हैं:
स्रोत पेड़ के लेआउट मूल रूप से पीछा कर रहा है।
वर्तमान में मेरे पास एक रूट CMakeLists.txt है जो प्रत्येक एप्लिकेशन और लाइब्रेरी को एक उपनिर्देशिका के रूप में सूचीबद्ध करता है ताकि यदि पुस्तकालय बदल दिया गया हो और एप्लिकेशन का पुनर्निर्माण किया गया हो, तो लाइब्रेरी भी है। यह ठीक काम करता है और सीएमके मुझे यह निर्दिष्ट करने के बिना लिंक करता है कि पुस्तकालय कहाँ रहता है, लेकिन मुझे निर्देशिकाओं को शामिल करने के लिए कुछ ऐसा करने का कोई तरीका नहीं दिखता है।
क्या इसे संभालने का कोई आम तरीका है? मैं प्रत्येक एप्लिकेशन के CMakeLists.txt को अपने पुस्तकालयों के लिए मैन्युअल रूप से पथ को सूचीबद्ध नहीं करना चाहता हूं।