0
我讓每一個目標複製所有的.exe它,.A,.dll文件,等...文件生成後一個目標文件夾是完整的這樣:CMake的文件(COPY),不能設置修改時間
function(BuildMirror TARGET DESTINATION)
# Check if folder exists
if (NOT EXISTS "${DESTINATION}")
message(WARNING "Destination folder did not exist, created: ${DESTINATION}")
file(MAKE_DIRECTORY "${DESTINATION}")
endif()
# Copy output
add_custom_command(
TARGET ${TARGET}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -DDESTINATION="${DESTINATION}" -P "${BUILDCHAIN_CMAKE}/PostBuildMerge.cmake"
)
endfunction(BuildMirror)
凡PostBuildMerge.cmake的定義是這樣的:
# Search
file(GLOB FILES
"${CMAKE_BINARY_DIR}/*.a"
"${CMAKE_BINARY_DIR}/*.dll"
"${CMAKE_BINARY_DIR}/*.lib"
"${CMAKE_BINARY_DIR}/*.exe"
)
# Copy
file(COPY ${FILES} DESTINATION "${DESTINATION}")
這似乎只是正常工作的大多數項目,但是(我似乎無法找出爲什麼)一個項目未能全面完成複製(該文件被複制)與以下消息:
file COPY cannot set modification time on
"xxx/Lib/Vulkan/libVkLayer_parameter_validation.dll"
據我所見CMake不需要任何特殊的權限,並且文件沒有設置爲任何只讀狀態。
什麼可能會導致此錯誤,如果我不能防止它有一種方法來抑制此錯誤並繼續構建,因爲無論如何複製文件(沒有一個正確的修改時間,但沒關係)。
謝謝。