Überblick: - Alle Übungen in einer ZIP, sodass die gemeinsamen Klassen unter 0_util/ wiederverwendet werden können. - Visual Studio Projekte/Solutions durch CMakeLists.txt Dateien ersetzt. - CMake generiert einen Header "config.h" aus dem Template "config.h.in", welcher #defines enthält, die die Platformunterschiede abstrahieren. z.B. SO_GUI als Define für die Klasse SoWin unter Windows oder SoXt unter Linux. Verwendet in ParticleViewer.cpp. - Anpassung der Klassen TextOut und PreciseTimer: Windows-spezifischen Code durch Standard-C++ Code ersetzt oder entsprechende #if-#else Alternativen implementiert. Das Projekt kann wie folgt kompiliert werden: - Kommandozeile: cmake --preset debug-linux cmake --build --preset debug-linux - Selbes unter Windows, allerdings mit debug-windows. Zudem müssen in CMakePresets.json noch die Coin_DIR und SoWin_DIR Pfade angepasst werden. - Getestet mit den prebuilt Release von Coin 4.0 und SoWin 1.6. - Coin 3 liefert noch keine Config Dateien (lib/cmake/...) für die CMake Integration mit. Zwischen Coin 3 und 4 schein es jedoch keine Breaking Changes bei den verwendeten Schnittstellen zu geben. - Die erstellten Binaries sind im build/ Verzeichnis zu finden. - Visual Studio >=2019 (getestet): 0. Das Modul "C++ CMake tools for Windows" muss installiert sein. 1. File > Open > Folder ... 2. Configure und Build Preset im Dropdown auswählen 3. Build 4. Debug Target (exe) in Dropdown auswählen 5. F5, um das Debuggen zu starten. Mehr Infos: https://docs.microsoft.com/en-us/cpp/build/cmake-projects-in-visual-studio. CMake ist auch schon in VS 2017 integriert, hier müsste man allerdings die CMakePresets.json durch eine Visual Studio spezifische CMakeSettings.json ersetzten. - Jede andere IDE, die CMake unterstützt kann ebenso verwendet werden: Visual Studio Code, CLion, Qt Creator, Eclipse, etc. Je nachdem muss noch CMake und ein Buildsystem wie Make oder Ninja (empfohlen) installiert werden. Visual Studio 2019 liefert diese mit. Vielen Dank an Peter Würth!