iquercorb / OpenModMan

Open Mod Manager - Open source and generic Mod ("Modifications") manager.
GNU General Public License v3.0
93 stars 5 forks source link

linux support #129

Open ChaosRifle opened 2 weeks ago

ChaosRifle commented 2 weeks ago

was wondering if we could get info on linux support: if its possible to compile for linux and work if so, what it requires and ideally a makelist file to compile it.

Thanks!

iquercorb commented 2 weeks ago

The software is currently compiled under Windows using GCC MinGW-w64 (via CodeBlocks), so the code and project are, so to speak, already "calibrated" for GCC. So it should also compile without problem under Linux using the proper GCC MinGW toolchain (not the native GCC one), adapting the current CodeBlocks project for this purpose.

https://www.mingw-w64.org/ https://slomkowski.eu/tutorials/compiling-c-plus-plus-application-for-windows-under-linux/

However:

I tried once a time to run it under linux via wine, and, it don't run... for unknown reason... Despite the fact the software rely on very standard Windows Seven compliant WinAPI libraries, without any call to sophisticated components, it fail to run under Wine. I admit I don't have investigated more than that. I suspect this is caused by a basic compatibility issue that would be as easy to fix than setting a constant or modifying a variable, but, finding and fixing it would required to debug under Linux, which is an adventure on itself (installing gcc-mingw environment, configuring CodeBlocks for it, etc.).

For a true Linux support, the software would require to be based on GTK or QT, making it natively cross-platform. Unfortunately, currently all the GUI/Dialog part, the file I/O routines, and some string conversion routines, rely entirely and directly on the C WinAPI components. While porting I/O and string conversion routines is easy, porting GUI/Dialog to GTK or QT (which I don't master well) would require to rewrite not less than the half of the whole software. So it will not happen soon...

ChaosRifle commented 2 weeks ago

Thanks a ton for the details! I had a feeling the IO systems might not be compatible, and had the same experience running under wine. I run multiple servers and a client for DCS World, so having one mod manager to rule them all makes things useful, hence the question. I might keep poking at running it under wine when I have spare time and if I come up with something that works, I will report back here. Until then feel free to close the issue as resolved. Thanks again for the info and great manager