Closed loriab closed 7 months ago
Yes, I was reading about Ninja problems with non-ascii on Windows https://github.com/ninja-build/ninja/pull/1915 and then CMake problems in turn. Giving nmake a shot ...
fwiw, NMake is no happier ...
[ 25%] Building CXX object CMakeFiles/libint2_obj.dir/src/CR_aB_d__0___CartesianMultipole_sB_3_c_0_c_0_Sb__s__0___Ab__up_.cc.obj
C:\PROGRA~1\LLVM\bin\clang-cl.exe @C:\Users\RUNNER~1\AppData\Local\Temp\nmEF5C.tmp
[ 25%] Building CXX object CMakeFiles/libint2_obj.dir/src/CR_aB_d__0___σpVσp_sB_0_Sb__d__0___Ab__up_.cc.obj
C:\PROGRA~1\LLVM\bin\clang-cl.exe @C:\Users\RUNNER~1\AppData\Local\Temp\nmF25A.tmp
clang-cl: error: no such file or directory: 'D:\a\libint\libint\libint\src\CR_aB_d__0___spVsp_sB_0_Sb__d__0___Ab__up_.cc'
clang-cl: error: no input files
NMAKE : fatal error U1077: 'C:\PROGRA~1\LLVM\bin\clang-cl.exe @C:\Users\RUNNER~1\AppData\Local\Temp\nmF25A.tmp' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.37.32822\bin\HostX64\x64\nmake.exe" -f CMakeFiles\libint2_obj.dir\build.make /nologo -L CMakeFiles\libint2_obj.dir\build' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.37.32822\bin\HostX64\x64\nmake.exe" -f CMakeFiles\Makefile2 /nologo -L all' : return code '0x2'
Stop.
@loriab I think using ninja + windows-only symlinks is the cleanest solution (see https://github.com/evaleev/libint/pull/273/commits/9e5ba3140bab5101ee34dc7507de739f7adb9d90) ... I'd prefer to stick with Unicode in code itself so that names are sanish.
@loriab I think using ninja + windows-only symlinks is the cleanest solution (see https://github.com/evaleev/libint/commit/9e5ba3140bab5101ee34dc7507de739f7adb9d90) ... I'd prefer to stick with Unicode in code itself so that names are sanish.
Sounds like a good solution to me! And if you want to not support pylibint on Windows, I've no objection.
@loriab after switching from
include(srclist.cmake)
tofile(STRINGS srclist.cmake ENCODING UTF-8)
CMake sees correct file names: https://github.com/evaleev/libint/actions/runs/7038208595/job/19156047711#step:7:6302But Ninja does not: https://github.com/evaleev/libint/actions/runs/7038208595/job/19156047711#step:7:7264 ... Ninja 1.11+ supports UTF-8 on Windows, and it appears that CMake 3.21+ should work correctly with Ninja UTF-8: https://gitlab.kitware.com/cmake/cmake/-/issues/21866
build.ninja
to see what Ninja sees