mirror of
https://github.com/loot/libloot.git
synced 2026-07-27 14:16:01 -07:00
Some tests have been updated because UTF-8 is used as the native path encoding with MinGW/Wine, unlike MSVC/Windows. Some of the tests fail: - 4 Rust tests fail because long paths are not enabled and so the paths used when creating symlinks and junction paths are too long. I've tested them with x86_64-pc-windows-gnu and x86_64-pc-windows-gnullvm, and both see the same behaviour. The tests pass when the MinGW-built executable is run on Windows, so this is a Wine limitation. - 12 C++ tests fail because directory symlink creation is not implemented. They fail whether the MinGW-built executable is run in Wine or on Windows, so this is a MinGW limitation. - 1 C++ filesystem test fails because long paths are not enabled. The failing tests are skipped at runtime when built with MinGW, aside from the one test for long paths being enabled, which expects them to be disabled when built with MinGW. If long paths are enabled, e.g. by running wine reg add HKLM\\System\\CurrentControlSet\\Control\\Filesystem /v LongPathsEnabled /t REG_DWORD /d 1 /f then many more tests fail because the C++ tests create long paths when that Registry value is set, but it doesn't seem to actually enable long path support in Wine, so various filesystem operations fail.
20 lines
630 B
CMake
20 lines
630 B
CMake
# toolchain-mingw64.cmake
|
|
set(CMAKE_SYSTEM_NAME Windows)
|
|
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
|
|
|
# specify the cross compiler
|
|
set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
|
|
set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
|
|
set(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres)
|
|
|
|
# where is the target environment
|
|
set(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32)
|
|
|
|
# search for programs in the build host directories
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
|
# for libraries and headers in the target directories
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
|
|
|
set(CMAKE_CROSSCOMPILING_EMULATOR wine)
|