Commit Graph

60 Commits

Author SHA1 Message Date
jacob1
228d559ccd
Replace b_strip with strip in github actions script 2024-03-15 22:42:27 -04:00
Tamás Bálint Misius
f47d0a9828
Make emscripten snapshots use starcatcher as the backend 2024-03-06 22:06:19 +01:00
jacob1
a7e71db9a0
Fix mingw github builds 2024-03-01 22:31:32 -05:00
Tamás Bálint Misius
79f45eb096
Use the recommended ghactions action to set up msys2 2024-02-24 22:26:53 +01:00
Tamás Bálint Misius
3f503bcb1c
Disable custom executable manifest in vs ghactions workflows
See 1ff6a2d0ae for the original problem. The fix in that commit was a bad idea, the patch got stale and broke the previous commit.
2024-01-21 14:17:32 +01:00
Tamás Bálint Misius
a637a619c9
Disable exe icons in mingw ghactions builds
So 1ef0c1a3e0 didn't help at all, great. Either I'm terrible enough at C++ to get the same thing wrong twice, or this is a mingw bug, in which case I'm not willing to waste time trying to figure it out.
2024-01-21 13:49:26 +01:00
Tamás Bálint Misius
5e60b53a3b
Hopefully fix msys2 workflows
Apparently updating msys2 causes it to exit completely, great.
2024-01-20 23:35:53 +01:00
Tamás Bálint Misius
bc9d43bb10
Migrate mingw builds to msys2 ucrt, update tpt-libs 2024-01-12 17:05:00 +01:00
Tamás Bálint Misius
2f302fa586
Make sure the correct android SDK and platform are installed
Make sure by checking check whether android.jar from the SDK exists.
2024-01-10 08:48:32 +01:00
Tamás Bálint Misius
1ff6a2d0ae
Add a --backend=vs job to the ghactions workflow
This also requires patching CREATEPROCESS_MANIFEST_RESOURCE_ID out of powder-res.template.rc because Meson generates a VS config that instructs VS to add its own and this conflicts with ours. TODO: Undo this hack once https://github.com/mesonbuild/meson/pull/12472 makes it into a release.

Also start using meson compile in place of ninja in some cases because it integrates better.
2023-12-03 18:17:26 +01:00
Tamás Bálint Misius
1c1e3aaf5a
Enforce build numbers of official builds in build.sh
Also fix the current build numbers.
2023-10-27 18:11:28 +02:00
Tamás Bálint Misius
3b6d607d98
Fix stable/beta ghaction workflows 2023-10-23 18:05:17 +02:00
Tamás Bálint Misius
a9cbd784f7
Remove snapshot_id
It is now consistently replaced by build_num. The next snapshot will be snapshot-353.
2023-10-19 12:51:11 +02:00
Tamás Bálint Misius
7fc3fb4c15
Sort out version info
The idea is to have the following version information included:

 - 1-component save version
   - 2-component under the hood but the minor component shouldn't ever change again
   - see currentVersionMajor in GameSave.cpp
 - 1-component website API version
   - again, currently 2-component because that's what the website code expects
   - see apiVersion in requestmanager/Common.cpp
 - 2-component display version, entirely cosmetic
   - exposed as meson options display_version_major and display_version_minor
   - see APP_VERSION in Config.template.h
 - 1-component business logic version aka build number
   - exposed as meson option build_num
   - see APP_VERSION in Config.template.h
 - variant id aka mod id, tightly coupled with the build number
   - exposed as meson option mod_id
   - see MOD_ID in Config.template.h
 - display and business logic versions repeated for the upstream
   - exposed as meson options upstream_version_major, upstream_version_minor, and upstream_build_num
   - we'll have to update these alongside display_version_major, display_version_minor, and build_num, but mod owners can just merge our changes
   - see UPSTREAM_VERSION in Config.template.h
 - update channel, makes sense in the context of the variant (and yes, this would later enable mod snapshots)
   - currently not exposed as a meson option but derived from meson options snapshot and mod_id
   - see IDENT_RELTYPE in Config.template.h
 - vcs tag aka git commit hash
   - set by build.sh in ghactions workflows
   - see VCS_TAG in VcsTag.tempalte.h

Rather importantly, the save and website API versions are now allowed to change independently of the display version.

These changes also allowed me to remove the ugly sed hacks in build.sh used to provision some manifest files; they are now provisioned by meson.

Also add version info for windows and android.
2023-10-19 12:51:03 +02:00
Tamás Bálint Misius
b89d29b744
Enable libcurl on android 2023-10-03 18:25:34 +02:00
Tamás Bálint Misius
8385796ca1
Bump android toolchain version to 21 2023-10-03 18:25:34 +02:00
Tamás Bálint Misius
7cb0ac96c9
Emscripten: Enable modularity
This allows multiple instances of the game to be loaded in a single page.

Also stop emitting htmls as a build artifact and require presence of #PowderSessionInfo.
2023-08-22 00:26:34 +02:00
Tamás Bálint Misius
82bd834e05
Emscripten: Add RequestManager 2023-08-22 00:26:32 +02:00
Tamás Bálint Misius
67e41b6705
Emscripten: Add target, update tpt-libs
The code itself is nowhere near being usable in a browser though.
2023-08-22 00:26:31 +02:00
Tamás Bálint Misius
6756c27274
Have ghactions check if dynamic windows builds have all their dependencies
Also update tpt-libs to properly fix the bug I fixed very temporarily earlier.
2023-02-05 15:59:31 +01:00
Tamás Bálint Misius
b9c8817386
Group gravity files into their own directory
Also replace non-FFT gravity with "no gravity"; fine for render.
2023-01-27 23:04:27 +01:00
Tamás Bálint Misius
2566506e4b
Provide three levels of install support
Namely: no, yes, and yes and ask at startup.

The install_check option is thus replaced by the can_install option. -Dinstall_check=true maps to -Dcan_install=yes_check, while -Dinstall_check=false maps to -Dcan_install=yes. -Dcan_install=no is new and is recommended for downstream packaging, where -Dinstall_check=false was historically used.

Also improve error messages about bad configuration here and there and scatter configuration code in subdirectories, where they can be closer to their areas of effect.
2023-01-27 09:27:33 +01:00
Tamás Bálint Misius
220844521a
Merge hdiutil calls in build.sh
Because for some reason the hdiutil convert step would sometimes fail with "image corrupt" when given an image the hdiutil create step had just previously created. Too cursed for my pay grade; I took the easy way out.
2023-01-27 09:26:40 +01:00
Tamás Bálint Misius
b5f6ec0f6c
Build nolua, nohttp, nogravfft variants on ghactions 2023-01-27 09:26:40 +01:00
Tamás Bálint Misius
9542f98b82
Preprocessor purge round 7: Config.template.h 2023-01-27 09:26:38 +01:00
Tamás Bálint Misius
fcc259e9b9
Update tpt-libs
Also make it easier to test tpt-libs builds locally by making it possible to point build.sh at a local tpt-libs repo and move installation of build dependencies to build.sh.
2023-01-01 19:00:05 +01:00
Tamás Bálint Misius
476be15e77
Get build.sh app constants from prepare.py 2022-12-27 18:41:23 +01:00
Tamás Bálint Misius
762208356a
Bump macos minimum version to 10.13, update tpt-libs
The version bump was made necessary by 7173650df9.
2022-12-23 19:43:07 +01:00
Tamás Bálint Misius
3be884513d
Do macos packaging on ghactions 2022-12-20 08:25:48 +01:00
Tamás Bálint Misius
dd7178dbc8
Stop setting window icons on windows
Also fix font editor builds on windows and add more font editor builds to the ghactions workflow.

Funny, we don't really need resource.h anymore. The resource compiler does, but we don't.
2022-12-18 19:32:12 +01:00
Tamás Bálint Misius
e5c88f154a
Unify icons 2022-12-18 15:00:08 +01:00
Tamás Bálint Misius
59f89f9a46
Let mods customize app constants
Mainly via meson_options.txt.
2022-12-17 19:45:01 +01:00
Tamás Bálint Misius
2140d6db4b
Clean up the feature line a bit
Also fix the icon name in the desktop file not including the vendor string.
2022-12-17 13:07:07 +01:00
Tamás Bálint Misius
630db0ef6b
Update tpt-libs
Comes with a new SDL2 version that fixes some obscure bug on Linux with nvidia drivers installed which makes TPT unable to start.
2022-11-08 21:16:13 +01:00
Tamás Bálint Misius
9b76c0dfe2
Fix snapshots being configured with ignore_updates=true
By moving appimages to their own build jobs. This required restructuring prepare.py again: release and debug jobs are not configured in pairs anymore.
2022-11-03 08:06:26 +01:00
Tamás Bálint Misius
b568b11927
Explicitly specify appimage destination
Because appimagetool is too smart for its own good.
2022-11-02 06:45:19 +01:00
Tamás Bálint Misius
a57bb09d02
Target v141 toolset with msvc, update tpt-libs
Also reduce per-host connection count to 1, now that we support HTTP/2.
2022-10-29 08:42:39 +02:00
Tamás Bálint Misius
1f7b01bd9e
Disable update checks for AppImages 2022-10-24 07:01:21 +02:00
Tamás Bálint Misius
3cda085bac
Build x86_64 AppImage 2022-10-22 22:01:04 +02:00
Tamás Bálint Misius
8161c1d71c
Fix font not being given the json dependency
Also make it and render get built as dynamic executables on ghactions, and disable dynamic+LTO, as it seems to be buggy in certain cases and isn't an important case.
2022-10-21 14:52:02 +02:00
Tamás Bálint Misius
ebb87a17c6
Unbundle bzip2 and jsoncpp, update tpt-libs
Also Disallow linking against non-C++ system Lua, unless configuring with -Dworkaround_noncpp_lua=true, add -Dworkaround_elusive_bzip2 and friends, and get rid of the -image_base hack for macos.
2022-10-20 23:15:49 +02:00
Tamás Bálint Misius
b306c2c33c
Fix ghactions mingw-on-linux builds
mingw-on-windows builds still work fine, but the linux ones were actually using plain gcc targeting the host.
2022-10-19 14:32:54 +02:00
Tamás Bálint Misius
a8d2b269b1
Move tricky compiler options over to build.sh
All of these are options that are specific to our ghactions builds and not something we want downstream and package maintainers to be locked into using.
2022-10-06 11:50:46 +02:00
Tamás Bálint Misius
fefafa3b3d
Display link command line when building for windows
Command line is limited in length on windows so meson/ninja puts it in a response file and passes that to the linker instead. Only problem is, ninja -v displays only the part of the command line where it tells link.exe where the response file is, not what's in the response file. So I just had the script print it. Care must also be taken for the script to properly fail if ninja fails, but not before the command line is printed.

Also add /GL and /LCTG to msvc command lines because they can't hurt. Right?
2022-09-11 14:15:34 +02:00
Tamás Bálint Misius
513d2cae3e
Update tpt-libs
Also restructure meson.build and the ghactions workflow a bit, and enable -ffunction-sections and -fdata-sections.

Note that starcatcher uploads have not been tested and most likely don't work.
2022-09-03 07:01:21 +02:00
Tamás Bálint Misius
c140b4bff0
Fix non-future-proof android NDK path resolution 2022-07-31 08:20:03 +02:00
Tamás Bálint Misius
f7527b46e6
Update tpt-libs, add support for android 2022-04-14 21:18:21 +02:00
Tamás Bálint Misius
6fe82d7221
Update tpt-libs, use SDL2main the way it's meant to be
Also fix the first mouse click not being detected on windows with sdl 2.0.20. Apparenlty, we need SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH set to 1 for it to be detected.
2022-04-10 10:39:23 +02:00
Tamás Bálint Misius
b963010187
New ghactions reltype to ease tpt-libs development 2022-04-09 20:29:17 +02:00
Tamás Bálint Misius
656ace10c6
Add support for MacOS on ARM
Also build with real -no-pie on ghactions, and fix SDL include directories (it's probably blind luck that they worked correctly on most systems).
2022-02-18 18:56:41 +01:00