# Dalamud CMake buildsystem advisory - September 23, 2026

The Nuke-to-CMake change affects building Dalamud itself. Ordinary plugins that use `Dalamud.NET.Sdk` and delivered Dalamud references do not need to migrate their build system, change SDK versions, convert their solutions or rebuild solely because of this announcement. The [official building guide](https://dalamud.dev/building/) explicitly says plugin authors can skip the framework source-build instructions.

This is a development notice snapshot, not a new Stable release announcement or blanket Beta compatibility result. Channel observations below were taken on September 23, 2026; moving pointers can advance independently.

## What changed

[PR #2982: Nuke Nuke and replace with CMake](https://github.com/goatcorp/Dalamud/pull/2982) merged into `master` at 21:58:14 UTC on September 23, 2026, at commit `984d399276891e141cc33af57153afcf48e8021e`. Its 39 changed files replace Nuke build orchestration, generate native Visual Studio projects, and update CI and release helpers. Managed projects continue to compile through the .NET SDK. Native components include Dalamud.Boot, the crash handler and the native ImGui-related libraries.

| Workflow | Required action |
| --- | --- |
| Building an ordinary Dalamud plugin | Keep its existing SDK/project build unless a separate API or dependency change requires an edit. |
| Developing Dalamud's native components | Install or select CMake **4.0 or newer**, directly on PATH or through Visual Studio's C++ CMake tools. The native presets use the v143 toolset. |
| Opening Dalamud in an IDE | Run `generate.cmd` in the Dalamud checkout first, then open `Dalamud.slnx`. Generated native projects live in `build/`. |
| Building all of Dalamud from a terminal | Its `build.cmd` generates native projects when needed and then builds native and managed components; `Release` selects that configuration. |
| Maintaining a plugin's own native helper | Check that helper's own CMake and compiler requirements. Dalamud's minimum does not automatically change another project's minimum. |
| Building native Dalamud on Linux | Still unsupported. The current root CMake project rejects non-MSVC toolchains; possible future cross-compilation is not a delivered feature. |

The announcement's “CMake >4” wording is less precise than the actual `cmake_minimum_required(VERSION 4.0)` and guide. The current scripts can locate the Visual Studio CMake component when CMake is absent from PATH; they do not replace an older CMake already found there. Select a CMake version that supports the chosen Visual Studio generator. No individual announcement author or original message timestamp was supplied for this review. Nuke maintenance status is the supplied rationale, not an independently audited conclusion here.

## Observed runtime and package state

| Authority | Observation |
| --- | --- |
| [Stable launcher endpoint](https://kamori.goats.dev/Dalamud/Release/VersionInfo?track=release) | `2026-09-23T22:23:11.424957+00:00`: 15.0.3.5, applicable to game `2026.09.15.0000.0000`. |
| [Beta/STG launcher endpoint](https://kamori.goats.dev/Dalamud/Release/VersionInfo?track=stg) | `2026-09-23T22:23:11.424957+00:00`: 15.0.3.5-52-g984d39927, applicable to the same game; includes the CMake merge. |
| [Separate STG distribution metadata](https://raw.githubusercontent.com/goatcorp/dalamud-distrib/main/stg/version) | `2026-09-23T22:25:51.240687+00:00`: 15.0.3.5-64-g406c470ae, commit `406c470ae280f12916eae73bf77e8cb10cac032f`, revision 7577. It is a later distribution observation, not the earlier launcher response. |
| [Latest verified Stable tag](https://github.com/goatcorp/Dalamud/tree/15.0.3.5) | 15.0.3.5 at `e81744f6aea94bb6781affdd0d0b9319592f95d9`; unchanged from the September 17 review. |
| [Master snapshot](https://github.com/goatcorp/Dalamud/commit/ea74655e56f90e4519ae5a04a51ccd221f5b70c2) | `ea74655e56f90e4519ae5a04a51ccd221f5b70c2`; 66 commits and 98 changed files after Stable, including work unrelated to CMake. |
| [Plugin SDK index](https://api.nuget.org/v3-flatcontainer/dalamud.net.sdk/index.json) and [packager index](https://api.nuget.org/v3-flatcontainer/dalamudpackager/index.json) | Both still end at 15.0.0 in this observation. |

The exact [Stable-to-Beta comparison](https://github.com/goatcorp/Dalamud/compare/e81744f6aea94bb6781affdd0d0b9319592f95d9...984d399276891e141cc33af57153afcf48e8021e) has 52 commits and 94 changed files. The [Stable-to-master comparison](https://github.com/goatcorp/Dalamud/compare/e81744f6aea94bb6781affdd0d0b9319592f95d9...ea74655e56f90e4519ae5a04a51ccd221f5b70c2) contains additional runtime and API work. Stable's unchanged tag does not include those post-tag changes.

## Separate compatibility follow-up

Beta also contains ClientStructs and schema movement, Lumina 7.7.0, development-mode thread checks for game-object access, evaluator thread requirements, data-adapter changes, richer active-plugin events and allocation/lifecycle changes. Assess actual callers before moving a plugin to that runtime. A buildsystem notice cannot establish their compatibility. Extended-key support and solution-GUID corrections occur after the earlier Beta endpoint; use the exact runtime commit when reviewing them. API16 branch proposals remain distinct from API15 adoption.

For a plugin review, inspect its SDK declaration, build scripts, project references and native helper inputs for actual calls into the Dalamud source build. Retain compatible patterns; do not infer a migration from upstream file count. Compilation, packaging, installation and in-client feature acceptance remain separate checks. This advisory is based on official source and metadata inspection; it does not claim those runtime checks were performed.

Primary build evidence: [root CMake project](https://github.com/goatcorp/Dalamud/blob/ea74655e56f90e4519ae5a04a51ccd221f5b70c2/CMakeLists.txt), [presets](https://github.com/goatcorp/Dalamud/blob/ea74655e56f90e4519ae5a04a51ccd221f5b70c2/CMakePresets.json), [generate.cmd](https://github.com/goatcorp/Dalamud/blob/ea74655e56f90e4519ae5a04a51ccd221f5b70c2/generate.cmd), [build.cmd](https://github.com/goatcorp/Dalamud/blob/ea74655e56f90e4519ae5a04a51ccd221f5b70c2/build.cmd) and [CMake discovery helper](https://github.com/goatcorp/Dalamud/blob/ea74655e56f90e4519ae5a04a51ccd221f5b70c2/tools/find-cmake.cmd).
