Я пишу файл инструментария CMake для компиляции в Linux с помощью компилятора MSVC в Wine:
set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_C_COMPILER "cl")
set(CMAKE_CXX_COMPILER "cl")
~/bin/cl
файл:
wine cmd /c Z:/home/velkan/bin/cl.bat "$@"
~/bin/cl.bat
файл:
call Z:\home\velkan\bin\vcvars32.bat
cl %*
~/bin/vcvars32.bat
файл:
@echo off
Set INCLUDE=C:\vc\include;C:\sdk\Include;C:\kits\10\Include\10.0.10586.0\ucrt;%INCLUDE%
Set LIB=C:\vc\lib;C:\sdk\Lib;C:\kits\10\Lib\10.0.10586.0\ucrt\x86;%LIB%
Скопировал все необходимые вещи в винный каталог, так что компилятор работает.
Но когда я запускаю cmake, он проходит пути в стиле Unix, такие как /home/velkan/build/CMakeFiles/CMakeTmp/testCCompiler.c
компилятору. Есть ли обходной путь CMake для определения набора инструментов, который может легко преобразовать их в нечто вроде Z:/home/velkan/build/CMakeFiles/CMakeTmp/testCCompiler.c
?
Задача ещё не решена.
Других решений пока нет …