Solution-Runner
Solution-Runner is an open source project that allows running projects as Visual Studio "solutions" (.sln
and .vcxproj
formats) on Linux, via cross-compilation.
It has been tested with basic Win32 projects, the SDL-enabled Kevgine version (using its unchanged Win32 backend), and console projects.
Source code.
Dependencies:
For Arch Linux, you can use this command to get the necessary packages:
sudo pacman -S python clang wine mingw-w64-crt mingw-w64-binutils mingw-w64-gcc mingw-w64-headers mingw-w64-winpthreads
Compile and run:
- Clone the Solution-Runner project to your computer.
- Navigate to your solution directory, and run the
run.py
script. It will parse the Visual Studio (.sln and .vcxproj) project and attempt to compile it. - If it succeeds, it will proceed to run the .exe file via WINE.
NOTE: you can ignore the usual WINE output, as well as these lines:
Warning: corrupt .drectve at end of def file
You may set up a shell alias like
runsln
that points to the absolute path of the script, as a hackish way to "install" it globally. This way, you can call it from anywhere.
Usage with IDEs
This is not a replacement for a proper CMake project with Linux support! However, you can get a functional IDE experience if using clangd as a language server. Solution-Runner will generate a compile-flags.txt
file, which clangd should pick up. This file allows it to provide errors and diagnostics as if you were on Windows. Magic!