उपयोग करने के लिए की जरूरत है। चूंकि सीएमके को सभी प्लेटफॉर्म पर चलाना है, इसलिए यह जीएनयू मेक जैसी प्लेटफॉर्म विशिष्ट धारणाओं पर भरोसा नहीं कर सकता है, जो कुछ स्थानों पर चीजों को जटिल बनाता है।
विशेष रूप से, सीएमके पुस्तकालयों का उपयोग करने के लिए एक बहुत ही शक्तिशाली और जटिल प्रणाली प्रदान करता है: आप अपनी लाइब्रेरी के नाम से find_package पर कॉल करते हैं, जो आपके सेमेक मॉड्यूल पथ से लाइब्रेरी खोज स्क्रिप्ट का आह्वान करेगा। यह स्क्रिप्ट (जिसे सीएमके में भी लिखा गया है) लाइब्रेरी के हेडर और lib फ़ाइलों के स्थान का पता लगाने और उन्हें कुछ सीएमके वैरिएबल में स्टोर करने का प्रयास करेगा, जिसे बाद में सीएमके आदेशों जैसे include_directories और target_link_libraries के पास पास किया जा सकता है।
इस दृष्टिकोण के साथ दो समस्याएं हैं: सबसे पहले, आपको एक खोज स्क्रिप्ट चाहिए। सौभाग्य से, पीएमड्रेड्स, बूस्ट और कुछ अन्य लोगों के लिए सर्च स्क्रिप्ट के साथ सीएमके जहाजों, लेकिन यदि आप अधिक विदेशी पुस्तकालय का उपयोग कर रहे हैं, तो आपको खुद को खोज स्क्रिप्ट लिखनी पड़ सकती है, जो पहले आर्केन अनुभव की तरह है ...
दूसरी बड़ी समस्या यह है कि खोज स्क्रिप्ट के परिणामों को वापस करने के लिए कोई मानक तरीका नहीं है। जबकि उपयोग किए गए चर के लिए नामकरण सम्मेलन हैं, वे अक्सर लागू नहीं होते हैं। अभ्यास में इसका मतलब है कि इसका उपयोग करने के तरीके के बारे में जानने के लिए आपको एक खोज स्क्रिप्ट का स्रोत देखना होगा। सौभाग्य से, सीएमके के साथ आने वाली स्क्रिप्ट ज्यादातर अच्छी तरह से प्रलेखित हैं।
बिल्टिन स्क्रिप्ट <cmake-install-prefix>/share/cmake-2.8/Modules
जैसे कहीं स्थित हैं। अपने प्रश्न के लिए, FindBoost.cmake और FindThreads.cmake फ़ाइलों को देखें (सीएमके को स्वचालित रूप से मानक लाइब्रेरी से लिंक करना चाहिए)। किसी भी कॉर्न ने बूस्ट स्क्रिप्ट का उपयोग करने के लिए पहले ही कुछ नमूना कोड दिया है, आपको जो कुछ भी जानने की जरूरत है वह सीएमके दस्तावेज में है या सीधे खोज स्क्रिप्ट फाइलों में है।