如果指定的目标中没有这些文件,我如何将目录的内容复制到另一个目录?(我只想复制丢失的,而不是用新的)
发布于 2014-07-20 21:02:57
这就是你的做法..。
1-将CMakeLists.txt添加到您想要复制的文件夹与其内容相同的目录中。
file(GLOB_RECURSE allfiles RELATIVE "${CMAKE_SOURCE_DIR}/test/" "folder/*")
foreach( each_file ${allfiles} )
set(destinationfile "${CMAKE_BINARY_DIR}/${each_file}")
set(sourcefile "${CMAKE_CURRENT_SOURCE_DIR}/${each_file}")
add_custom_command(TARGET uox3
POST_BUILD
COMMAND ${CMAKE_COMMAND}
-Ddestinationfile=${destinationfile}
-Dsourcefile=${sourcefile}
-P ${CMAKE_CURRENT_SOURCE_DIR}/check.cmake
)
endforeach(each_file)
2-在同一个目录下创建另一个名为"check.cmake“的文件。
if(NOT EXISTS ${destinationfile})
execute_process(COMMAND ${CMAKE_COMMAND}
-E copy ${sourcefile} ${destinationfile})
endif()
就这样。我对CMake 3.0.0进行了测试,结果成功了。
https://stackoverflow.com/questions/24843913
复制