Switch to Meson instead of GNUmakefile#665
Conversation
Fix builds hopefully Remove outdated docs
Remove old make files
|
I noticed a problem with the Windows installer - I will investigate |
|
@phkb Given this is a fairly large change, please can you check it works for you. One thing I've noticed with this and older versions like Oolite 1.93.1-kja-sdl3.2 is that speech doesn't work for me on Windows. This is unrelated to this change. I'm guessing it's related to SDL3. With 1.92.1, speech works ok for me on Windows. On Linux, there is no issue with speech. |
|
Looks like there some things we need to check for regularly. I extended |
|
How do I add meson to my build environment? |
|
I ran |
|
I notice the install script is failing: I'm running the command from root level of the source tree, which is where I would normally run the "make" process. Is that correct? |
It's probably simplest to just run setup.cmd from a command prompt to create a fresh up to date environment. setup.cmd installs msys2 and downloads latest dependencies which are then installed by install_deps.sh (which is called by setup.cmd). Alternatively, you need to download the dependencies manually into build/packages if you just want to run install_deps.sh from an existing msys2: https://github.com/OoliteProject/oolite_windeps_build/releases/tag/0.1.4. Prior to running install_deps.sh, it is a good idea to run |
|
I've debugged the Windows sound issue - requires fixing pcaudiolib due to SDL3 change: |
|
OK, after some fiddling around, I've got the build working. A couple of points:
|
From what I have found, 1 is fixed by adding this: https://mesonbuild.com/Reference-manual_functions_executable.html#executable_win_subsystem like this in src/meson.build: oolite_bin = executable( I just checked in that fix but haven't had a chance to test yet. Maybe that will also fix the icon? |
|
The |
|
@kanthoney Does what I suggested here help? #665 (comment). If not, I'll have to investigate what has happened. |
Point 1 appears to be fixed. Point 2 remains. |
|
@phkb I had forgotten to compile and add the OOResourcesWin.rc file which adds the icon on Windows. Point 2 should now be fixed. |
|
Confirmed icon is now being applied to the exe. With the Windows installer options, they work OK, but the file names are missing the version number. For instance, for the deployment build, the filename is "OoliteInstall--win.exe", and the test release is "OoliteInstall--win-text.exe" |
Where do you see that? When I download one of the Windows ones from here and open the zip, I see a version number: |
|
For v1.92, I ran the NSIS script file manually in NSIS, and then manually named the output file. I haven't built the Windows packages via the "make" process locally before. |
|
It's also not a showstopper. The files themselves all work fine. If it came to an official release, and we had to rely on locally built files, it's really no effort to rename them. I just thought it was odd the version number wasn't already there, when it clearly is supposed to be there. |
|
@oocube Do you know if version numbers work for local builds on Windows in master? |



Meson (using ninja backend) is faster
Meson integrates with IDEs (tested with CLion)
It can generate XCode projects apparently
No need to source GNUstep.sh with all its obscure magic - all required flags are in the build
Top level Makefile remains (although refactored and calls meson)
Also added to manifest:
Fixes #577