Я хочу скопировать файлы / папки, содержащие специальные символы для дальнейшего использования в модульных тестах, и хочу, чтобы файлы перезаписывались при изменении.
ОС - Windows
, ОС Стандартный язык - English
, версия CMake - 3.18.0
, генератор - Ninja
Это соответствующее содержимое CMakeLists.txt
...
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/data/"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/data/abcüßöϴABC.txt" "${CMAKE_CURRENT_BINARY_DIR}/data/abcüßöϴABC.txt"
...
Это результат cmake при работе в CMD:
...
Error copying file (if different) from "D:/source_folder/data/abcÔö£ÔòØÔö£ãÆÔö£├é┬ñÔöñABC.txt" to "D:/binary_folder/data/abcÔö£ÔòØÔö£ãÆÔö£├é┬ñÔöñABC.txt".
Batch file failed at line 28 with errorcode 1
Согласно Notepad ++, CMakeLists.txt
закодирован в UTF-8 и имеет Windows окончания строк (CR LF).
Использование ${CMAKE_COMMAND} -E copy_directory
I не увидел никаких изменений в целевом файле, когда исходный файл был обновлен.
Я обнаружил Проблема относительно этого c, но я не уверен, смогу ли я обойти проблема с использованием разных cmake-команд.