From d823c9a746be0fd152ca8c1079a4952e2a6a3c66 Mon Sep 17 00:00:00 2001 From: Tom Date: Thu, 5 Feb 2026 19:24:57 -0800 Subject: [PATCH 1/2] Clarify source build instructions for qt6 branch and cmake compatibility Add explicit build instructions for the recommended qt6 branch with the correct git clone command (-b qt6), document the CMAKE_POLICY_VERSION_MINIMUM workaround for cmake 4.0+ compatibility with older submodules like eglut, and clearly separate the deprecated main branch instructions from the recommended qt6 path. Addresses #120 Co-Authored-By: Claude Opus 4.6 --- src/source_build/launcher.md | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/source_build/launcher.md b/src/source_build/launcher.md index 2b07863..dfdcd9d 100644 --- a/src/source_build/launcher.md +++ b/src/source_build/launcher.md @@ -2,9 +2,9 @@
-The qt5 version is deprecated and only supported on distributions with protobuf that not depends on abseil and uses cmake 3.x. +The default (main) branch uses Qt5 and is deprecated. It is only supported on distributions with protobuf that does not depend on abseil and that use cmake 3.x. -Use branch qt6 for cmake 4.0 and newer protobuf. +**For most users, the `qt6` branch is recommended.** It supports cmake 4.0 and newer protobuf. See the [qt6 branch instructions](#building-the-qt6-branch-recommended) below.
@@ -16,18 +16,33 @@ Use branch qt6 for cmake 4.0 and newer protobuf. - **Fedora** (Up to date as of 2024-08-21) - you'll need to install the required packages: `sudo dnf install clang cmake make git ca-certificates libstdc++ glibc-devel libpng-devel zlib-devel libX11-devel libXi-devel libcurl-devel systemd-devel libevdev-devel mesa-libEGL-devel alsa-lib-devel pulseaudio-libs-devel mesa-dri-drivers systemd-devel libXtst-devel openssl-devel qt5-qtbase-devel qt5-qtwebengine-devel qt5-qtdeclarative-devel qt5-qtsvg-devel qt5-qtquickcontrols qt5-qtquickcontrols2` -- **Arch** (Up to date as of 2024-12-02) - you'll need to install the +- **Arch** (Up to date as of 2024-12-02) - you'll need to install the required packages: `sudo pacman -S gcc clang ca-certificates openssl libpng libx11 libxi gcc-libs glibc zlib curl systemd libevdev mesa alsa-lib pulseaudio libxtst qt5-base qt5-webengine qt5-declarative qt5-svg qt5-quickcontrols qt5-quickcontrols2` - **macOS** - you'll need to install the required packages: `brew install cmake libpng openssl@1.1 qt@5` -## Build instructions +## Building the qt6 branch (recommended) + +The `qt6` branch is the actively maintained branch. To build it: + +``` bash +git clone --recursive -b qt6 https://github.com/minecraft-linux/mcpelauncher-manifest.git mcpelauncher && cd mcpelauncher +mkdir -p build && cd build +CC=clang CXX=clang++ cmake .. -Wno-dev -DCMAKE_BUILD_TYPE=Release -DJNI_USE_JNIVM=ON +make -j$(getconf _NPROCESSORS_ONLN) +``` + +> **Note:** Some submodules (such as eglut) may specify an older minimum cmake version (e.g. 3.5). If you encounter cmake policy errors when building with cmake 4.0+, try adding `-DCMAKE_POLICY_VERSION_MINIMUM=3.5` to the cmake command. + +## Build instructions (main branch, deprecated) + +> **Warning:** The main branch uses Qt5 and is deprecated. Prefer the [qt6 branch](#building-the-qt6-branch-recommended) unless you specifically need the Qt5 version. ``` bash git clone --recursive https://github.com/minecraft-linux/mcpelauncher-manifest.git mcpelauncher && cd mcpelauncher mkdir -p build && cd build -CC=clang CXX=clang++ cmake .. -Wno-dev -DCMAKE_BUILD_TYPE=Release -DJNI_USE_JNIVM=ON +CC=clang CXX=clang++ cmake .. -Wno-dev -DCMAKE_BUILD_TYPE=Release -DJNI_USE_JNIVM=ON make -j$(getconf _NPROCESSORS_ONLN) ``` From 9cac4836a8430b605b12564f8f040ab344ebb4fd Mon Sep 17 00:00:00 2001 From: Tom Date: Fri, 6 Feb 2026 13:58:45 -0800 Subject: [PATCH 2/2] Fix branch name references and remove incorrect cmake 4.0 claims - Default branch of mcpelauncher-manifest is 'ng', not 'main' - Remove cmake 4.0 support claims from qt6 branch (never completed) - Remove cmake policy workaround note (not applicable) --- src/source_build/launcher.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/source_build/launcher.md b/src/source_build/launcher.md index dfdcd9d..8097819 100644 --- a/src/source_build/launcher.md +++ b/src/source_build/launcher.md @@ -2,9 +2,9 @@
-The default (main) branch uses Qt5 and is deprecated. It is only supported on distributions with protobuf that does not depend on abseil and that use cmake 3.x. +The default (ng) branch uses Qt5 and is deprecated. It is only supported on distributions with protobuf that does not depend on abseil and that use cmake 3.x. -**For most users, the `qt6` branch is recommended.** It supports cmake 4.0 and newer protobuf. See the [qt6 branch instructions](#building-the-qt6-branch-recommended) below. +**For most users, the `qt6` branch is recommended.** It supports newer protobuf. See the [qt6 branch instructions](#building-the-qt6-branch-recommended) below.
@@ -33,11 +33,9 @@ CC=clang CXX=clang++ cmake .. -Wno-dev -DCMAKE_BUILD_TYPE=Release -DJNI_USE_JNIV make -j$(getconf _NPROCESSORS_ONLN) ``` -> **Note:** Some submodules (such as eglut) may specify an older minimum cmake version (e.g. 3.5). If you encounter cmake policy errors when building with cmake 4.0+, try adding `-DCMAKE_POLICY_VERSION_MINIMUM=3.5` to the cmake command. +## Build instructions (ng branch, deprecated) -## Build instructions (main branch, deprecated) - -> **Warning:** The main branch uses Qt5 and is deprecated. Prefer the [qt6 branch](#building-the-qt6-branch-recommended) unless you specifically need the Qt5 version. +> **Warning:** The ng branch uses Qt5 and is deprecated. Prefer the [qt6 branch](#building-the-qt6-branch-recommended) unless you specifically need the Qt5 version. ``` bash git clone --recursive https://github.com/minecraft-linux/mcpelauncher-manifest.git mcpelauncher && cd mcpelauncher