POSIX: Add AppImage support

And add a target to generate the image
This commit is contained in:
Le Philousophe 2023-05-19 22:29:24 +02:00
parent 94aff8553d
commit 287b228af0
2 changed files with 23 additions and 6 deletions

View File

@ -289,14 +289,21 @@ Common::String OSystem_POSIX::getScreenshotsPath() {
void OSystem_POSIX::addSysArchivesToSearchSet(Common::SearchSet &s, int priority) { void OSystem_POSIX::addSysArchivesToSearchSet(Common::SearchSet &s, int priority) {
#ifdef DATA_PATH #ifdef DATA_PATH
const char *snap = getenv("SNAP"); const char *path = nullptr;
if (snap) { if (!path) {
Common::String dataPath = Common::String(snap) + DATA_PATH; path = getenv("SNAP");
}
if (!path) {
path = getenv("APPDIR");
}
if (path) {
Common::Path dataPath(path);
dataPath.joinInPlace(DATA_PATH);
Common::FSNode dataNode(dataPath); Common::FSNode dataNode(dataPath);
if (dataNode.exists() && dataNode.isDirectory()) { if (dataNode.exists() && dataNode.isDirectory()) {
// This is the same priority which is used for the data path (below), // This is the same priority which is used for the data path (below),
// but we insert this one first, so it will be searched first. // but we insert this one first, so it will be searched first.
s.add(dataPath, new Common::FSDirectory(dataNode, 4), priority); s.add(dataNode.getPath(), new Common::FSDirectory(dataNode, 4), priority);
} }
} }
#endif #endif

View File

@ -597,6 +597,17 @@ publish-appcast:
cp dists/macosx/scummvm_appcast.xml ../scummvm-web/public_html/appcasts/macosx/release.xml cp dists/macosx/scummvm_appcast.xml ../scummvm-web/public_html/appcasts/macosx/release.xml
APPDIR = AppDir
# AppImage tool doesn't check for metainfo.xml, only appdata.xml
appimage:
@if [ -z "${LINUXDEPLOY}" ]; then echo "LINUXDEPLOY variable must be set to the path of linuxdeploy binary" >&2; exit 1; fi
@if [ "$(prefix)" != '/usr' ]; then echo "Please re-run configure with --prefix=/usr" >&2; exit 1; fi
rm -rf "$(APPDIR)"
$(MAKE) install DESTDIR="$(APPDIR)"
ln -s org.scummvm.scummvm.metainfo.xml "$(APPDIR)/$(datarootdir)/metainfo/org.scummvm.scummvm.appdata.xml"
VERSION="$(VERSION)$(VER_REV)" "${LINUXDEPLOY}" --appdir="$(APPDIR)" -o appimage
# #
# Special target to generate project files for various IDEs # Special target to generate project files for various IDEs
# Mainly Win32-specific # Mainly Win32-specific
@ -624,11 +635,10 @@ endif
@echo Now run @echo Now run
@echo -e "\tgit commit -m 'DISTS: Generated Code::Blocks and MSVC project files'" @echo -e "\tgit commit -m 'DISTS: Generated Code::Blocks and MSVC project files'"
release-checks: release-checks:
devtools/release-checks.sh devtools/release-checks.sh
# Mark special targets as phony # Mark special targets as phony
.PHONY: install-data install install-strip uninstall dist-generic .PHONY: install-data install install-strip uninstall dist-generic
.PHONY: bundle-pack bundle iphonebundle ios7bundle tvosbundle iphone osxsnap publish-appcast .PHONY: bundle-pack bundle iphonebundle ios7bundle tvosbundle iphone osxsnap publish-appcast
.PHONY: ideprojects release-checks .PHONY: appimage ideprojects release-checks