मैं प्रत्येक संकलन के बाद निर्माण निर्देशिका में कॉन्फ़िगरेशन फ़ाइलों की प्रतिलिपि बनाने के लिए निम्न आदेश का उपयोग कर रहा हूं।सीएमके: फ़ाइलों को कॉपी करने के लिए लक्ष्य कैसे रखें
# Gather list of all .xml and .conf files in "/config"
file(GLOB ConfigFiles ${CMAKE_SOURCE_DIR}/config/*.xml
${CMAKE_SOURCE_DIR}/config/*.conf)
foreach(ConfigFile ${ConfigFiles})
add_custom_command(TARGET MyTarget PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E
copy ${ConfigFile} $<TARGET_FILE_DIR:MyTarget>)
endforeach()
यह क्रिया हर बार जब मैं प्रोजेक्ट संकलित करता हूं तो यह क्रिया ट्रिगर होती है। क्या किसी भी संकलन की आवश्यकता के बिना फ़ाइलों की प्रतिलिपि बनाने के लिए CMakeLists.txt में कोई लक्ष्य बनाना संभव है? कुछ "कॉपी कॉपी" की तरह।
धन्यवाद। क्या मुझे दो अलग-अलग 'add_custom_command' कमांड की आवश्यकता है? मुख्य निष्पादन योग्य लक्ष्य और प्रतिलिपि लक्ष्य के लिए एक? क्योंकि अभी कस्टम कमान कुछ ऐसा है: 'add_custom_command (TARGET $ {PRODUCT} PRE_BUILD'। मैं मुख्य लक्ष्य बनाते समय या जब मैं "प्रतिलिपि बना देता हूं" फ़ाइलों को प्रतिलिपि बनाना चाहता हूं। – Meysam
@Meysam उस मामले में '$ {PRODUCT}' को 'प्रतिलिपि 'पर निर्भर करने के लिए' add_dependencies ($ {PRODUCT} प्रतिलिपि 'का उपयोग करें। – Angew
@Meysam - अपडेट किया गया उत्तर – Fraser