के आउटपुट का नाम बदलें मैं इंस्टॉलर फ़ाइल का नाम बदलना चाहता हूं जो सीपीएक्स (v2.8.7) संस्करण नियंत्रण प्रणाली से निर्माण समय पर प्राप्त संस्करण संख्या को शामिल करने के लिए उत्पन्न करता है। ऐसा लगता है कि यह CPACK_ * चर सेट करके किया जा सकता है क्योंकि यह "cmake" समय पर होता है।सीपीएक्स
जो मैं करना चाहता हूं वह है "(n) पैकेज बनाना" और इंस्टॉलर फ़ाइल को और कमांड के साथ बनाया जाना चाहिए। दो संभावित दृष्टिकोण जिन्हें मैं जानता हूं, वे निर्माण समय पर सीपीएक्स फ़ाइल नाम चर का उपयोग कर रहे हैं और सीपीएक्स के अंतिम आउटपुट का नाम बदल रहे हैं।
यदि कोई CMakeLists.txt फ़ाइल में "शामिल (सीपीएक्स)" का उपयोग करना है तो ऐसा लगता है कि सीपीएक्स हमेशा अंतिम चलता है और आपके पास पोस्ट-बिल्ड कमांड नहीं हो सकता है। This mailing list message सुझाव देता है कि सीपीएसी चलाने के लिए एक कस्टम लक्ष्य लिखा जा सकता है, लेकिन मैं यह जानने में असमर्थ था कि अनंत रिकर्सन के बिना इसे कैसे किया जाए।
यह कैसे किया जा सकता है?
आप एक कदम आगे जा सकते हैं और 'CPackOptions.cmake.in' और' create-cpackoptions.cmake' को CMakeFile.txt से उत्पन्न कर सकते हैं। इसका मतलब है कि आपको अपने स्रोत पेड़ में दो फाइलों की आवश्यकता नहीं है। उदाहरण के लिए: 'फ़ाइल (WRITE $ {CMAKE_BINARY_DIR} /CPackOptions.cmake.in "सेट (CPACK_PACKAGE_FILE_NAME \" @ proj_name @ - \ $ {CPACK_PACKAGE_VERSION} आर @ संशोधन @ - \ $ {CPACK_SYSTEM_NAME} \ ")") –