Эмулятор болгарского 8-битного компьютера Pyldin-601 на базе MC6800.
Основной desktop-проект находится в каталоге pyldin601/.
Сборка переведена на CMake + vcpkg в manifest mode.
CMake3.24 или новее- рабочий компилятор C/C++
- полный checkout
vcpkg - переменная окружения
VCPKG_ROOT, указывающая на этот checkout
Важно: нужен именно каталог vcpkg, в котором есть файл scripts/buildsystems/vcpkg.cmake.
Пример:
export VCPKG_ROOT=/path/to/vcpkgcd pyldin601
cmake --preset release
cmake --build --preset releaseПосле этого build-дерево будет создано в:
pyldin601/out/build/release
При первом cmake --preset ... автоматически подтягиваются зависимости из pyldin601/vcpkg.json:
sdl2sdl2-imagezlib
Локальная копия зависимостей для конкретного build-а попадает в:
pyldin601/out/build/<preset>/vcpkg_installed
Доступные configure presets описаны в pyldin601/CMakePresets.json:
debugreleasemacos-releaselinux-releasewindows-release
Обычно достаточно release. Платформенные preset-ы оставлены как aliases для соответствующей host-системы.
cd pyldin601
cmake --preset release
cmake --build --preset releaseСобирает приложение и раскладывает рядом все нужные ROM/Bios/Floppy/shader-файлы.
cd pyldin601
cmake --preset release
cmake --build --preset bundle-releaseРезультат:
- macOS:
pyldin601/out/build/release/bundle/Pyldin-601.app - Linux:
pyldin601/out/build/release/bundle/bin/pyldinиshare/pyldin - Windows:
pyldin601/out/build/release/bundle/bin/pyldin.exeи рядом runtime/data файлы
cd pyldin601
cmake --preset release
cmake --build --preset package-releaseФормат пакета зависит от платформы:
- macOS:
.dmg - Linux:
.tar.gz - Windows:
.zip
Файлы пакетов создаются в:
pyldin601/out/build/release
Если нужен install tree без CPack:
cd pyldin601
cmake --preset release
cmake --build --preset release
cmake --install out/build/release --prefix /tmp/pyldin601-installВо время install/bundle/package CMake автоматически добавляет:
BiosFloppyRomshaders
Источники данных:
cd pyldin601
cmake --preset release
cmake --build --preset release
cmake --build --preset bundle-release
cmake --build --preset package-releaseБудет собран .app bundle и .dmg.
cd pyldin601
cmake --preset release
cmake --build --preset release
cmake --build --preset bundle-release
cmake --build --preset package-releaseБудет собран install tree и .tar.gz.
Запускать лучше из Developer Command Prompt, PowerShell с настроенным toolchain или из среды с MinGW/Visual Studio.
cd pyldin601
cmake --preset release
cmake --build --preset release
cmake --build --preset bundle-release
cmake --build --preset package-releaseБудет собран .zip.
Примеры:
cmake --preset release -DPYLDIN_ENABLE_ASAN=ON
cmake --preset release -DPYLDIN_ENABLE_OPENGL=ON
cmake --preset release -DPYLDIN_UNIBIOS_ONLY=ONОсновные опции:
PYLDIN_ENABLE_ASAN— AddressSanitizer для локальной отладкиPYLDIN_ENABLE_OPENGL— включить OpenGL renderer pathPYLDIN_UNIBIOS_ONLY— устанавливать только UniBios ROM setPYLDIN_BUNDLE_RUNTIME_DEPS— копировать runtime-библиотеки в bundle/package
export VCPKG_ROOT=/Users/sash/Work/vcpkg
cd /Users/sash/Work/P601/pyldin601/pyldin601
cmake --preset release
cmake --build --preset release --parallel
cmake --build --preset bundle-release
cmake --build --preset package-release