Можно ли сделать cmake -E copy_if_different для обработки имен файлов Unicode в Windows? - PullRequest
0 голосов
/ 15 марта 2019

Мне нужно использовать команду 'cmake -E copy_if_different', чтобы переместить некоторые тестовые файлы с именами файлов Unicode туда, где они используются.Это не работает в Windows 10 (target = 64-bit VS2017), но отлично работает в Linux (target = makefiles).Имена файлов не-Unicode в списке файлов копируются правильно.

Я подозреваю, что это проблема Visual Studio.Копирование завершается успешно, если я вручную запускаю 'cmake -E copy_if_different', используя имена файлов Unicode из командной строки в Windows.И cmd.exe, и git bash справляются с этим.Я строю, конфигурируя и генерируя в графическом интерфейсе CMake, затем запускаю Visual Studio и запускаю созданный им проект ALL_BUILD, чтобы собрать все.Сообщения об ошибках выглядят следующим образом:

38>Generating H5TEST-shared/tfile_?????????.h5
38>Error copying file (if different) from "C:/Users/derob/Desktop/HDF5/hdf5_der/test/tfile_?????????.h5" to "C:/Users/derob/Desktop/HDF5/build/test/H5TEST-shared/tfile_?????????.h5".
38>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" exited with code 1.

Кто-нибудь знает об обходном пути для этого?

Я использую CMake 3.13.3 на случай, если это имеет значение.

...