47 lines
1.3 KiB
Markdown
47 lines
1.3 KiB
Markdown
# Platform -- macOS
|
|
|
|
`DUSK_TARGET_SYSTEM`: `macos`
|
|
Source layer: `src/duskmacos/` (planned, does not exist yet)
|
|
Status: **Planned -- not yet implemented**
|
|
|
|
---
|
|
|
|
## Overview
|
|
|
|
macOS desktop is a planned target. No source layer, CMake target file,
|
|
or toolchain exists yet. The intended architecture mirrors Linux: SDL2
|
|
for windowing/input, OpenGL (or Metal via MoltenVK/SDL2) for rendering.
|
|
|
|
---
|
|
|
|
## Expected macros (when implemented)
|
|
|
|
| Macro | Expected |
|
|
|-------|---------|
|
|
| `DUSK_MACOS` | yes |
|
|
| `DUSK_SDL2` | yes |
|
|
| `DUSK_OPENGL` | yes |
|
|
| `DUSK_DISPLAY_SIZE_DYNAMIC` | yes |
|
|
| `DUSK_INPUT_KEYBOARD` | yes |
|
|
| `DUSK_INPUT_POINTER` | yes |
|
|
| `DUSK_INPUT_GAMEPAD` | yes |
|
|
| `DUSK_PLATFORM_ENDIAN_LITTLE` | yes |
|
|
| `DUSK_TIME_DYNAMIC` | yes |
|
|
| `DUSK_THREAD_PTHREAD` | yes |
|
|
|
|
---
|
|
|
|
## Notes
|
|
|
|
- Will be little-endian (Apple Silicon and Intel x86-64).
|
|
- Apple deprecated OpenGL on macOS in 10.14 (Mojave). The implementation
|
|
will need to either target the deprecated OpenGL path or use MoltenVK
|
|
(Vulkan-over-Metal) with an SDL2 OpenGL layer. This decision is
|
|
pending.
|
|
- Save files will likely live in `~/Library/Application Support/`.
|
|
- Expected to share `src/dusksdl2/` and `src/duskgl/` with Linux.
|
|
- Toolchain: native Clang via Xcode Command Line Tools, or a
|
|
cross-compile from Linux with osxcross.
|
|
|
|
Update this document when the macOS target is implemented.
|