मैं क्लेयन पर एक सरल परियोजना बनाने की कोशिश कर रहा हूं। प्रोजेक्ट बनाने के लिए Makefiles (या किसी प्रकार का) बनाने के लिए यह CMake (मैं यहां नया हूं) का उपयोग करता हूं
जब भी मुझे अपना कोड चलाना होगा, मुझे हर बार बाइनरी डायरेक्टरी में कुछ नॉन-प्रोजेक्ट फाइल (कुछ प्रकार की रिसोर्स फाइल) ट्रांसफर करनी होगी।
उस फ़ाइल में परीक्षण डेटा होता है और अनुप्रयोग उन्हें पढ़ने के लिए खोल देता है। मैंने ऐसा करने के कई तरीके आजमाए:
के जरिए
file(COPY ...
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/input.txt DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/input.txt
अच्छी लग रही है, लेकिन यह सिर्फ एक बार काम करता है और अगले रन के बाद फ़ाइल को रिकॉपी नहीं करता है।
के जरिए
add_custom_command
OUTPUT
संस्करणadd_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/input.txt COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/input.txt ${CMAKE_CURRENT_BINARY_DIR}/input.txt)
TARGET
संस्करणadd_custom_target(foo) add_custom_command( TARGET foo COMMAND ${CMAKE_COMMAND} copy ${CMAKE_CURRENT_BINARY_DIR}/test/input.txt ${CMAKE_SOURCE_DIR})
लेकिन इसमें से कोई भी काम नहीं करता है।
मैं क्या गलत कर रहा हूं?
configure_file
उप-निर्देशिकाओं के साथ काम नहीं करने जा रहा है, भले ही आप फ़ाइलों की सूची बनाने के लिए GLOB का उपयोग करें।