| Werkzeug | Version |
|---|---|
| Windows | 10 oder 11, x64 |
| Visual Studio | 2022 oder neuer, Workloads "Desktopentwicklung mit C++" und Windows SDK |
| CMake | ≥ 3.28 |
Alle Drittanbieter-Abhängigkeiten (Dear ImGui, DirectXTex, nlohmann/json, Catch2) werden automatisch über CMake FetchContent beim ersten Konfigurieren heruntergeladen. Es ist kein Paketmanager (vcpkg, Conan, …) und keine manuelle Einrichtung nötig.
Wichtig:
JTool/(das Legacy-Referenzwerkzeug) wird nicht benötigt, um NUIStudio zu bauen oder auszuführen. Ein CMake-Check (cmake/CheckNoJToolDependency.cmake) stellt bei jedem Konfigurieren sicher, dass keinerlei Pfadverweis darauf existiert.
cd NUIStudio
cmake --preset windows-x64-debug
cmake --build --preset windows-x64-debug
Für einen optimierten Build windows-x64-debug durch windows-x64-release ersetzen. Beide Presets sind in CMakePresets.json definiert:
| Preset | Konfiguration | Ausgabeverzeichnis |
|---|---|---|
windows-x64-debug |
Debug | build/windows-x64-debug/bin/Debug/ |
windows-x64-release |
Release | build/windows-x64-release/bin/Release/ |
Die fertige NUIStudio.exe liegt danach im jeweiligen bin/<Debug\|Release>/-Unterordner. Ein Post-Build-Schritt (cmake/VerifyBinary.cmake) prüft automatisch, dass es sich um eine echte 64-Bit-PE-Binärdatei handelt.
ctest --preset windows-x64-debug --output-on-failure
Die Testsuite ist in einzelne Catch2-Ziele je Modul aufgeteilt (z. B. NuiParserTests, NuiTextTests, RendererTextTests, …). Rein CPU-basierte Tests (Parsing, Layout-Mathematik) benötigen keine GPU. DirectX-abhängige Tests laufen gegen ein WARP-Software-Device, sodass die komplette Suite auch ohne echte Grafikkarte oder in CI-Umgebungen vollständig durchläuft.
Echte visuelle Bildtreue gegen reale Assets ist zusätzlich ein manueller Prüfschritt — dafür existieren
tools/NuiBatchValidate(Massenvalidierung eines gesamten Ressourcen-Korpus) sowie interne Render-Dump-Diagnosewerkzeuge, die ein Dokument mit echten Assets in eine PNG-Datei rendern, um sie direkt zu inspizieren.
cpack --preset windows-x64-release
Erstellt ein auslieferbares ZIP-Archiv unter NUIStudio/dist/.
Beim ersten Start ist noch kein Resource Root konfiguriert — Sprites, Fonts und andere Assets werden dann nur als flache Platzhalter-Boxen ohne Text dargestellt. Über Datei → Set Resource Root… wird der Wurzelordner der Spiel-Assets ausgewählt (der Ordner, der die Unterordner spr/, tga/, dds/, otf/, … als Geschwister enthält).
Die Auswahl wird persistent in NUIStudio.settings.json neben der .exe gespeichert und beim nächsten Start automatisch wieder geladen. Mehr dazu: Ressourcen & Asset-Auflösung.
"This project doesn't contain the Configuration and Platform combination…" (MSB8013)
Ein bekanntes, gelegentliches Problem bei sehr schnell aufeinanderfolgenden Rebuilds beider Presets (Debug und Release) im selben Terminal-Zustand: Die Projektdatei referenziert kurzzeitig die falsche Konfiguration. Abhilfe: das betroffene Preset einmal neu konfigurieren, bevor erneut gebaut wird:
cmake --preset windows-x64-debug
cmake --build --preset windows-x64-debug
Dieser Reconfigure-Schritt löst das Problem zuverlässig, ohne dass der Build-Ordner komplett gelöscht werden muss.