Windows Pre-build Script Documentation Updated

Everything about development and the OpenMW source code.
User avatar
AnyOldName3
Posts: 1123
Joined: 26 Nov 2015, 03:25

Re: Windows Pre-build Script Documentation Updated

Post by AnyOldName3 » 07 Jun 2018, 12:29

Building things would be a lot easier on Windows if all of our dependencies offered binary SDK releases which could be linked against easily (especially if they were available via NuGet or similar). That isn't the case and it's also not our fault (with the exception of OSG-on-steroids, which we're in charge of) as we're not the official maintainers of any of our dependencies. On Linux, anyone can become the official maintainer for a package on a particular distro, though, so most of the popular distros do have binary releases for our dependencies. In-tree dependencies would partially solve the issue of having to find everything, but having to build big things like Boost and Qt and OSG would literally add days to the build time.

Our CMake could definitely be a lot nicer, but in order to completely modernise it, there needs to be modernised CMake for all of our dependencies.
AnyOldName3, Master of Shadows

User avatar
wareya
Posts: 229
Joined: 09 May 2015, 13:07

Re: Microsoft Buys Github for $7.5 Billion

Post by wareya » 07 Jun 2018, 12:34

psi29a wrote:
07 Jun 2018, 12:20
(powershell?)
"please no"
paying attention to #1751 #2473 #3609 #3862/#3929 #3807 #4297 #4623

User avatar
psi29a
Posts: 4262
Joined: 29 Sep 2011, 10:13
Github profile: https://github.com/psi29a/
Contact:

Re: Microsoft Buys Github for $7.5 Billion

Post by psi29a » 07 Jun 2018, 12:36

What do you propose?

Also, please read:
viewtopic.php?f=6&t=5198&p=54888#p54888

User avatar
wareya
Posts: 229
Joined: 09 May 2015, 13:07

Re: Microsoft Buys Github for $7.5 Billion

Post by wareya » 07 Jun 2018, 12:40

A batch or bash script is fine. Powershell is unnecessary weight.
paying attention to #1751 #2473 #3609 #3862/#3929 #3807 #4297 #4623

User avatar
psi29a
Posts: 4262
Joined: 29 Sep 2011, 10:13
Github profile: https://github.com/psi29a/
Contact:

Re: Microsoft Buys Github for $7.5 Billion

Post by psi29a » 07 Jun 2018, 12:48

I wouldn't know... I'm just an Linux using idiot. :) But I trust you know what you're doing. :)

User avatar
AnyOldName3
Posts: 1123
Joined: 26 Nov 2015, 03:25

Re: Microsoft Buys Github for $7.5 Billion

Post by AnyOldName3 » 07 Jun 2018, 12:48

That's literally what the CI script does when not run in AppVeyor mode (except it's written in MSYS-flavoured Bash instead of PowerShell, so potentially not something that every Windows user has installed). The only problems I see with the CI script are that:
  • By default, it only sets up the runtime resources for the Debug configuration, so you need to run it again to get Release and RelWithDebInfo working.
  • It doesn't work with long paths unless long path support is enabled in the Windows registry, but we can't do anything about this.
  • It doesn't work with paths containing spaces. I've attempted to fix this, but when it's setting up Qt, that absolutely refuses to support paths containing spaces, so unless we give the option to install Qt somewhere else, the script can never support paths with spaces.
  • It doesn't spit out good error messages when it's going to fail due to misuse.
There are loads of semi-critical issues with CMake, though. For example:
  • Even when run through the script, at least for NullCascade it can't find OSG properly. I've narrowed this issue down to something within the FindOpenSceneGraph module that CMake provides for us, but can't track it down further without access to the computer on which it's not working.
  • Even if you do go through the tedious process of setting things up manually, it often refuses to link against OSG properly.
  • It probably doesn't work with anything other than VS solutions, such as Qt Projects, NMake projects, MinGW or Cygwin.
AnyOldName3, Master of Shadows

User avatar
wareya
Posts: 229
Joined: 09 May 2015, 13:07

Re: Microsoft Buys Github for $7.5 Billion

Post by wareya » 07 Jun 2018, 12:53

On its own, cmake can be made to work with msys and mingw, but it throws warnings at you if your environment deviates from what it expects (e.g. if you have gnu make instead of mingw32-make).
paying attention to #1751 #2473 #3609 #3862/#3929 #3807 #4297 #4623

User avatar
psi29a
Posts: 4262
Joined: 29 Sep 2011, 10:13
Github profile: https://github.com/psi29a/
Contact:

Re: Microsoft Buys Github for $7.5 Billion

Post by psi29a » 07 Jun 2018, 12:53

I remember using the CI scripts once and it seemed to work out-of-the-box in a Win7 VM. This included OSG, that was the extent of my testing however, that it built. Never got so far as to testing because of lack of OpenGL support in VirtualBox at the time.

User avatar
AnyOldName3
Posts: 1123
Joined: 26 Nov 2015, 03:25

Re: Microsoft Buys Github for $7.5 Billion

Post by AnyOldName3 » 07 Jun 2018, 12:56

On its own, cmake can be made to work with msys and mingw, but it throws warnings at you if your environment deviates from what it expects (e.g. if you have gnu make instead of mingw32-make).
That's if it's used properly. I'm pretty sure we don't do that.
AnyOldName3, Master of Shadows

wheybags
Posts: 207
Joined: 21 Dec 2012, 19:41

Re: Microsoft Buys Github for $7.5 Billion

Post by wheybags » 07 Jun 2018, 13:00

I use https://github.com/ruslo/hunter for dependencies of freeablo on Linux, windows and osx, and it works great, just run cmake then open vs/xcode/run make.
If there was interest, I could try get openmws dependencies packaged and add hunter to the openmw cmake files. I did it for freeablo already, and that has at least some of the same deps (SDL2).
Might be nice to get a few commits in openmw again after all this time :D

Post Reply

Who is online

Users browsing this forum: No registered users and 7 guests