Windows Pre-build Script Documentation Updated

Everything about development and the OpenMW source code.
NullCascade
Posts: 121
Joined: 16 Jan 2012, 07:58

Re: Microsoft Buys Github for $7.5 Billion

Post by NullCascade »

AnyOldName3 wrote: 06 Jun 2018, 14:40
OpenMW is already an obscure project, and on top of that it caters mostly to Linux developers.
NullCascade, I'm still waiting on you adding a MESSAGE call to the CMake so I can fix your issues with building OpenMW on Windows (which AFAICT you've still only reported via the unofficial Discord server instead of on the issue tracker). You can't keep claiming that it's hard to build OpenMW on Windows if we're doing everything possible to make it easy.
:roll:

I'm not the first one to bring up the issues, and your response is to always deny that there are issues. OpenMW has had terrible dev environments on non-Linux for years. But that's not really the topic here. Someone else came and made a new build script, a few of us were quite happy with it, and the position continued to be that everything was 100% fine with OpenMW's cmake scripts. I can add as many messages as you want, it won't fix the underlying issue.

I don't want to derail, but there have been several threads about the build system on Windows over the years. The gist comment section is filled with people having problems. People have come into Discord with issues. One guy spent four days straight getting everything to work, then offered his precompiled files and his own build script for others to use. Even when you do fix the scripts to work, they're just missing things. There's no file organization. The projects are configured for debug, but are not organized for release without manually copying files around. There've been so many issues over the years, and people asking about it has made little progress. This is an open source project. You don't get it fixed by asking for it, you get it fixed by fixing it yourself, but many people give up before then. But, yeah. Things haven't been posted on the issue tracker so I could hear "well I don't have that issue" there too, and I didn't get back to you about a MESSAGE insert for my latest test to see if the build system has gotten fixed, sorry about that. Here's an issue on the tracker, I ran that message you wanted and included it there: https://bugs.openmw.org/issues/4442
User avatar
wareya
Posts: 338
Joined: 09 May 2015, 13:07

Re: Microsoft Buys Github for $7.5 Billion

Post by wareya »

Sorry to jump on the tangent, but I agree that building OpenMW on Windows is a massive pain. It's the reason I only ever made a single contribution. Ideally the project would include all the dependencies in-tree like ioquake3 does. I don't see that happening, but it's an example of what a good experience building software on Windows is like, and that it's entirely possible.

I just want to emphasize that this aspect of the argument is not a fighting point, it's something that needs addressing. For one, I refuse to use VC (I will only use mingw), and that already makes cmake find scripts deeply unstable.

I'll point out that SDL2 should reaaaaallllllly be hosted in-tree for Windows, though, no matter what else about the dependencies does or doesn't change. SDL2 is not semantically versioned, it makes functionality-incompatible changes all the time. They added a WASAPI audio backend for the low-level part of their audio interface in 2.0.6, and made it the default, but it's been and remained hilariously broken since then.
User avatar
AnyOldName3
Posts: 2668
Joined: 26 Nov 2015, 03:25

Re: Microsoft Buys Github for $7.5 Billion

Post by AnyOldName3 »

In-tree dependencies only work when your dependencies aren't huge, but OSG and Qt take hours to build.

Building using MinGW is probably something that shouldn't be too hard to make work. All it requires is a MinGW user to be willing to bash their head through a brick wall of subtly broken CMake.

As for the Visual Studio crowd, I've just done some work on improving the documentation on the pre-build script. It's now at https://wiki.openmw.org/index.php?title ... ripted_way instead of that just being a link to Ace's GitHub gist. I expect that to be helpful to at least some people as the old version was outdated and missed out a bunch of caveats.
User avatar
AnyOldName3
Posts: 2668
Joined: 26 Nov 2015, 03:25

Windows Pre-build Script Documentation Updated

Post by AnyOldName3 »

https://wiki.openmw.org/index.php?title ... ripted_way now contains an updated, detailed set of instructions for creating a working Visual Studio solution. Hopefully it's enough to curb all of the issues which are actually just users using the script wrong (usually just because the instructions were incomplete), which seemed to be most of the things that NullCascade has been complaining about.

If people are pointing new developers at a setup guide, make sure to point them to this one.
User avatar
lysol
Posts: 1513
Joined: 26 Mar 2013, 01:48
Location: Sweden

Re: Windows Pre-build Script Documentation Updated

Post by lysol »

*applause*
User avatar
psi29a
Posts: 5356
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Windows Pre-build Script Documentation Updated

Post by psi29a »

Thank you for this.

The last time I said to myself: fuck-it, how hard can it be? I setup virtualbox with win7, msvc2015 with x86_64 extension (a separate file you must download and install? why? shouldn't it be standard?), got libraries all built and openmw built in under 8 hours. Hardly hostile but it can still improved.

Preface: this coming from someone who hasn't worked with windows since 2001 (NT4) and actually does software engineering for a living for a multinational purely on Debian/Ubuntu.
NullCascade
Posts: 121
Joined: 16 Jan 2012, 07:58

Re: Windows Pre-build Script Documentation Updated

Post by NullCascade »

psi29a wrote: 07 Jun 2018, 08:44Thank you for this.

The last time I said to myself: fuck-it, how hard can it be? I setup virtualbox with win7, msvc2015 with x86_64 extension (a separate file you must download and install? why? shouldn't it be standard?), got libraries all built and openmw built in under 8 hours. Hardly hostile but it can still improved.

Preface: this coming from someone who hasn't worked with windows since 2001 (NT4) and actually does software engineering for a living for a multinational purely on Debian/Ubuntu.
How the hell is 8 hours to initially configure the project considered acceptable? A day's work just to install dependencies? If a coworker spent an entire day just trying to get our product to build, something would be extremely wrong, either with our software or with the employee. Cross-platform game engines I've worked on professionally are designed to let you bounce between different targets trivially, with none of this nonsense. The only reason it takes 8 hours is because OpenMW caters to the Linux way of building. It bases life around Linux style package management, and pushes others off to manage dependencies with the horror that is CMake. Instead, they could leverage linked repositories to keep everything neatly packaged and in line with a uniform, platform-agnostic system that does not dirty the surrounding environment.

That said, thanks AnyOldName3 for your efforts here. I know there have been several developers turned away from the project. Windows remains the dominant desktop operating system, and the fact that OpenMW took so many years to get even this far is embarrassing, has severely limited the number of developers the project has had, and lead to a cross-platform project that is hyper-focused on one operating system, which is not healthy.

The other thread has some of those developers quipping up, while non-Windows developers continue to claim that there is no war in Ba Sing Se. I hope that things continue to improve.
User avatar
psi29a
Posts: 5356
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Windows Pre-build Script Documentation Updated

Post by psi29a »

Easy enough to solve if windows developers would do something about instead of complaining. :) Waiting for someone else to fix _your_ problem does not give you any moral high-ground to act like a child and throw a tantrum.
NullCascade
Posts: 121
Joined: 16 Jan 2012, 07:58

Re: Windows Pre-build Script Documentation Updated

Post by NullCascade »

psi29a wrote: 07 Jun 2018, 10:43Easy enough to solve if windows developers would do something about instead of complaining. :) Waiting for someone else to fix _your_ problem does not give you any right to complain unless, of course, they are under contract. Unless of course people enjoy acting like children... but that is something OpenMW can't fix.
:roll:
User avatar
wareya
Posts: 338
Joined: 09 May 2015, 13:07

Re: Microsoft Buys Github for $7.5 Billion

Post by wareya »

LoneWolf wrote: 07 Jun 2018, 01:35 I've heard good things about MSYS2 , maybe using that to build on windows would be easier for developers ?
http://www.msys2.org/
MSYS2 is a software distro and building platform for Windows

At its core is an independent rewrite of MSYS, based on modern Cygwin (POSIX compatibility layer) and MinGW-w64 with the aim of better interoperability with native Windows software.
Disclaimer : As a longtime arch linux user I may be biased in favor of projects that use AL pacman for package management.
The last (and only) time I tried to use MSYS2, I tried to link SDL2_Image and got runtime linker errors about missing libraries that SDL2_image is supposed to programmatically load at runtime on its own, not using the linker. I immediately uninstalled MSYS2 and never looked back. Something that can mess up package curation that hard is a toy, not a development environment.
Post Reply