2011-03-08 14 views
9

मैं डेबियन पैकेज बनाने के लिए सीपीके के साथ सीएमके का उपयोग कर रहा हूं।सीपीएक्स के साथ डेबियन पैकेज में फ़ाइलों को कैसे जोड़ें?

मैं एक पैकेज उत्पन्न करने के लिए सीपीएसी का उपयोग करना चाहता हूं जो कि उन फ़ाइलों को विशिष्ट स्थान पर स्थापित करेगा। (उदा।/Usr/lib/usr/शामिल/AAA)

प्रत्येक पुस्तकालय और हेडर फाइल एक कमांड स्थापित में निर्दिष्ट कर रहे हैं, और मैं CPack विकल्प लिख सकते हैं और जड़ CMakeLists.txt में CPack शामिल

(निश्चित रूट और मध्य CMakeList.txt केवल सेट या add_subdirectory कमांड है)

प्रोजेक्ट निर्देशिका निम्नानुसार दिखती है।

root(CMakeLists.txt CPack) ┬AAA(CMakeLists.txt)─┬─AAA2(CMakeLists.txt install)-src-include 
          │     └─AAA3(CMakeLists.txt install)-src-include 
          ├BBB(CMakeLists.txt)─┬─BBB2(CMakeLists.txt install)-src-include 
... 

आदेश स्थापित की तरह लगता है:

ADD_LIBRARY(${AAA2} SHARED ${CMAKE_CURRENT_SOURCE_DIR}/${AAA2_SOURCE_DIR}/AAA.c) 
INSTALL(TARGETS ${AAA2} DESTINATION /usr/lib) 
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${AAA_INCLUDE_DIR}/AAA2.h DESTINATION /usr/include/AAA) 

मैं के साथ मेकअप पैकेज की कोशिश की है cmake साथ कमांड "स्थापित करें"

cpack बनाया Debian पैकेज लेकिन यह है कि किसी भी फाइल नहीं है।

मैंने क्या गलत किया? मैं cpack के साथ डेबियन पैकेज में फ़ाइलों को कैसे जोड़ सकता हूं?

उत्तर

7

आप अपने स्थापित नियम गंतव्य मान के लिए पूर्ण पथ का उपयोग कर रहे: (यानी, "/ usr/lib")

उपयोग सिर्फ "lib" के बजाय। जिसे CMAKE_INSTALL_PREFIX के नीचे रखा जाएगा, क्योंकि यह एक पूर्ण पथ नहीं है।

आप "/ usr" भाग को CMAKE_INSTALL_PREFIX के साथ या कुछ CPACK_ जनरेटर-विशिष्ट चर, जैसे CPACK_PACKAGING_PREFIX के साथ, बाद में आवश्यकतानुसार नियंत्रित कर सकते हैं। (उम्मीद है कि आपको इसकी आवश्यकता भी नहीं होगी, क्योंकि डिफ़ॉल्ट व्यवहार आपके द्वारा बनाए जा रहे किस प्रकार के सीपीएक्स पैकेज के आधार पर काफी हद तक पर्याप्त होना चाहिए।)

आपको सीएमके इंस्टॉल नियमों में पूर्ण पथों का उपयोग करने से बचना चाहिए जब तक फ़ाइल को जरूरी नहीं है हमेशा सभी प्लेटफार्मों पर उस स्थान पर स्थापित किया जाना चाहिए।

+0

वास्तव में आपको धन्यवाद !! अब मैं स्थापित कमांड में पथों के बारे में समझता हूं। –

संबंधित मुद्दे