cmake
पैकेजिंग और वितरण परियोजनाएं
खोज…
वाक्य - विन्यास
- # एक निर्देशिका बनाएँ पैकेज
पैक [पथ] - # एक विशिष्ट जनरेटर का उपयोग करें
cpack -G [जनरेटर] [पथ] - # वैकल्पिक ओवरराइड प्रदान करें
- cpack -G [जनरेटर] -C [अनुरूपण] - [पैकेज नाम] -R [पैकेज संस्करण] -B [पैकेज निर्देशिका] --vendor [पैकेज VENDOR]
टिप्पणियों
CPack एक बाहरी उपकरण है, जो CMakeLists.txt
फ़ाइलों और इंस्टॉल किए गए इंस्टॉलेशन_ install_targets()
जैसे उपयोग किए गए इंस्टॉलेशन कमांडों से सभी आवश्यक डेटा को सीधे इकट्ठा करके निर्मित सीएमके परियोजनाओं की तेज़ पैकेजिंग की अनुमति देता है।
CPack को ठीक से काम करने के लिए, CMakeLists.txt
में install
बिल्ड टारगेट का उपयोग करके स्थापित की जाने वाली फाइलें या लक्ष्य शामिल CMakeLists.txt
चाहिए।
एक न्यूनतम स्क्रिप्ट इस तरह दिख सकती है:
# Required headers
cmake(3.0)
# Basic project setup
project(my-tool)
# Define a buildable target
add_executable(tool main.cpp)
# Provide installation instructions
install_targets(tool DESTINATION bin)
एक निर्मित CMake परियोजना के लिए एक पैकेज बनाना
एक पुनर्वितरण योग्य पैकेज (उदाहरण के लिए एक ज़िप संग्रह या सेटअप प्रोग्राम) बनाने के लिए, यह आमतौर पर सीपैक को कॉल करने के समान सिंटैक्स का उपयोग करके बस CPack को आह्वान करने के लिए पर्याप्त है:
cpack path/to/build/directory
पर्यावरण के आधार पर यह परियोजना के लिए सभी आवश्यक / स्थापित फ़ाइलों को इकट्ठा करेगा और उन्हें एक संपीड़ित संग्रह या स्वयं-निकालने वाले इंस्टॉलर में डाल देगा।
एक CPack जनरेटर का उपयोग करने के लिए चयन करना
एक विशिष्ट प्रारूप का उपयोग करके एक पैकेज बनाने के लिए, जनरेटर का उपयोग करने के लिए चुनना संभव है।
सीएमके के समान यह -जी तर्क का उपयोग करके किया जा सकता है:
cpack -G 7Z .
इस कमांड लाइन का उपयोग 7-ज़िप संग्रह प्रारूप का उपयोग करके वर्तमान निर्देशिका में निर्मित परियोजना को पैकेज करेगा।
लेखन के समय, CPack संस्करण 3.5 डिफ़ॉल्ट रूप से निम्नलिखित जनरेटर का समर्थन करता है:
-
7Z
7-ज़िप फ़ाइल प्रारूप (संग्रह) -
IFW
Qt इंस्टॉलर फ्रेमवर्क (निष्पादन योग्य) -
NSIS
अशक्त शीतल इंस्टॉलर (निष्पादन योग्य) -
NSIS64
अशक्त शीतल इंस्टॉलर (64-बिट, निष्पादन योग्य) -
STGZ
स्व निकालने टार GZip संपीड़न (संग्रह) -
TBZ2
टारTBZ2
संपीड़न (संग्रह) -
TGZ
टार GZip संपीड़न (संग्रह) -
TXZ
तार XZ संपीड़न (संग्रह) -
TZ
टार कम्प्रेशन कम्प्रेशन (संग्रह) -
WIX
WiX उपकरण के माध्यम से MSI फ़ाइल स्वरूप (निष्पादन योग्य संग्रह) -
ZIP
ज़िप फ़ाइल स्वरूप (संग्रह)
यदि कोई स्पष्ट जनरेटर प्रदान नहीं किया गया है, तो CPack वास्तविक वातावरण के आधार पर सर्वोत्तम उपलब्ध निर्धारित करने का प्रयास करेगा। उदाहरण के लिए, यह विंडोज पर एक सेल्फ-एक्सट्रैक्टिंग एक्सेलेबल बनाने को प्राथमिकता देगा और केवल एक ज़िप आर्काइव तैयार करेगा यदि कोई उपयुक्त टूलसेट नहीं मिला है।