Repository navigation
EN Editor Build and Packaging
English · Türkçe · Languages / Diller
Scope: JSON API Forge 0.5.1 · Source review: 17 September 2026 · Language: English
Use CMake 3.24+, a C++20 compiler, Qt 6.4+ Core/Gui/Widgets/Network, Qt Test for tests, and Ninja. WebEngineWidgets is optional. The project uses public Qt APIs and a bundled bounded ZIP decoder, without requiring Qt private ZIP headers.
Use the case-sensitive Editor branch. The reviewed commit is a4b3bff9120442533da957621684f34a65fcf15a. Desktop source is not obtained from main or the server's v0.5.1 tag.
git clone --branch Editor --single-branch https://github.com/YoungLionOrganization/JSON-API-Forge.git JSON-API-Forge-Editor
cd JSON-API-Forge-Editor
git checkout a4b3bff9120442533da957621684f34a65fcf15a
cmake -S . -B build/editor -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DFORGE_EDITOR_WARNINGS_AS_ERRORS=ON
cmake --build build/editor --parallel
ctest --test-dir build/editor --output-on-failure
cmake --install build/editor --prefix build/stageIf Qt's CMake package is not found, select the local kit/environment or CMAKE_PREFIX_PATH. Do not commit personal absolute Qt paths to shared source. Use separate build directories for different architectures/compilers.
Open the repository-root CMakeLists.txt. Match the kit's compiler, Qt version and CPU architecture. Choose the dev or release preset in CMakePresets.json. The target is JSONAPIForgeEditor; the executable is JSON-API-Forge-Editor.
Official Windows CI uses MSVC kits. LLVM-MinGW or another toolchain needs a Qt build with matching ABI; changing only the compiler path is insufficient. WebEngine may not exist for every compiler/architecture combination; the external-browser fallback covers its absence.
| System | After staging |
|---|---|
| Windows | Run windeployqt --release --no-translations --compiler-runtime on the staged EXE |
| Linux | Use editor/packaging/linux/bundle-qt.sh and the official launcher |
| macOS | Run macdeployqt -always-overwrite on the staged .app
|
Keep notices installed by CMake and editor/packaging/stage-notices.py. A portable ZIP contains the full stage, not only the executable. Launch the packaged application in a clean environment and inspect screenshots/test results.
The official workflow uses platform-specific IFW 4.8.1 tools with pinned hashes. Windows:
./editor/packaging/qtifw/build-installer.ps1 `
-StageDir build/stage `
-OutputFile JSON-API-Forge-Editor-v0.5.1-windows-x64-setup.exeLinux/macOS:
bash editor/packaging/qtifw/build-installer.sh build/stage JSON-API-Forge-Editor-v0.5.1-linux-x64-setup.run linux
# For macOS, change the platform and output name:
# bash editor/packaging/qtifw/build-installer.sh build/stage JSON-API-Forge-Editor-v0.5.1-macos-arm64-setup.dmg macosFirst deploy the Qt runtime and ensure binarycreator is on PATH. The shared theme is editor/packaging/qtifw/config/installer.qss. The installer uses platform/application icons instead of a large header-logo pixmap.
For Ubuntu 24.04 ARM64, prepare-linux-tools.sh supplies private compatibility libraries for IFW tools; they are not copied into the Editor runtime or system libraries. Intel IFW tools on Apple Silicon may require Rosetta while the packaged Editor remains native ARM64.
Each of six targets produces ZIP and installer artifacts: 12 product files plus workflow checksum sidecars. Building artifacts does not automatically attach them to an official release. --graph-preview, --team-preview, --window-size and --screenshot support visual inspection, not complete end-to-end coverage of every interactive feature.
This page describes the behavior at the pinned commits below. Recheck these contracts when upgrading.
Editor/CMakeLists.txtEditor/editor/CMakeLists.txtEditor/CMakePresets.jsonEditor/QT-CREATOR-BUILD-GUIDE.mdEditor/.github/workflows/editor-build.yml