2012-02-19 10 views
12

मैं इस समस्या डोमेन में शब्दावली का थोड़ा अनिश्चित हूं, जो कि चीजों की खोज करने का प्रयास करते समय एक समस्या है।सेमीकेक "रन रन"

मैं अपनी निर्माण प्रक्रिया के लिए सीएमके का उपयोग कर रहा हूं। मैं एक मेकफ़ाइल लक्ष्य बनाना चाहता हूं जैसे कि मैं किसी दिए गए प्रक्रिया को चलाने के लिए make run का उपयोग कर सकता हूं (विशेष रूप से, जिसे मैंने अभी make के साथ बनाया है)। मुझे एहसास है कि मैं सिर्फ एक खोल स्क्रिप्ट बना सकता हूं, या इसे टाइप करके कमांड चला सकता हूं। अगर मैं एक Makefile अपने आप को लिख रहा था, मैं इतना की तरह ऐसा करने चाहते हैं:


run: 
    ./path/to/binary 

मैंने कभी एक Makefile अपने आप को, हालांकि बारे में नहीं है - कि cmake द्वारा उत्पन्न रहा है - और मुझे यकीन है कि में क्या रखा नहीं कर रहा हूँ वांछित make run लक्ष्य उत्पन्न करने के लिए इसे पाने के लिए मेरे CMakeLists.txt

मुझे cmake कमांड 'execute_process' मिला है, लेकिन ऐसा लगता है कि मैं बाद में नहीं हूं - मैं वास्तव में निर्माण प्रक्रिया के दौरान कुछ भी नहीं चलाना चाहता हूं।

अतिरिक्त: इसके अलावा, मैं निम्नलिखित की तरह कुछ करने के लिए सक्षम होने के लिए अच्छा लगेगा:


CMAKE_COMMAND_ADD_MAKEFILE_TARGET (${CMAKE_PROJECT_DIR}/binary) 

है यही कारण है कि, एक cmake चर का उपयोग कर path/to/binary जोड़ने है कि अगर संभव है।

+0

तो क्या लक्ष्य आप ऊपर लिखा था के साथ गलत क्या है? –

+0

ओह, यह स्पष्ट नहीं किया - मैं अपना मेकफ़ाइल नहीं लिख रहा हूं, मैं सीएमके का उपयोग कर रहा हूं। तदनुसार प्रश्न संपादित करें। – simont

उत्तर

13

आप add_custom_target देख रहे हैं। उदाहरण के लिए:

add_custom_target(run 
    COMMAND binary 
    DEPENDS binary 
    WORKING_DIRECTORY ${CMAKE_PROJECT_DIR} 
) 
+0

क्या आपने इसका परीक्षण किया? मुझे काम करने के लिए '$ {CMAKE_PROJECT_DIR}/बाइनरी' नहीं मिल रहा है, और मुझे यकीन नहीं है कि यह सिर्फ मुझे गड़बड़ कर रहा है - मैंने यह पता लगाया है कि मैं 'add_custom_target' के साथ क्या कर रहा हूं। – simont

+0

क्षमा करें, मैंने कोशिश नहीं की। यह अभी तय है। – Simon