Skip to content

Commit e70c798

Browse files
Add darwin_headless build target for macOS headless operation
Mirrors linux_headless but uses clang/libc++ via osx_build_extra.py. No SDL2 dependency — suitable for CI on macOS runners. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 7e3fa4c commit e70c798

1 file changed

Lines changed: 98 additions & 0 deletions

File tree

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
[env:darwin_headless]
2+
lib_archive = false
3+
platform = native@^1.2.1
4+
extra_scripts =
5+
pre:tools/osx_build_extra.py
6+
tools/linux_build_extra.py
7+
build_flags =
8+
${env.build_flags}
9+
-D HASP_MODEL="MacOS Headless"
10+
-D HASP_TARGET_PC=1
11+
12+
; ----- Display
13+
-D TFT_WIDTH=320
14+
-D TFT_HEIGHT=480
15+
-D HASP_USE_NULL_DRIVER=1
16+
; ----- ArduinoJson
17+
-D ARDUINOJSON_DECODE_UNICODE=1
18+
-D HASP_NUM_PAGES=12
19+
-D HASP_USE_SPIFFS=0
20+
-D HASP_USE_LITTLEFS=0
21+
-D HASP_USE_EEPROM=0
22+
-D HASP_USE_GPIO=0
23+
-D HASP_USE_CONFIG=1
24+
-D HASP_USE_DEBUG=1
25+
-D HASP_USE_PNGDECODE=1
26+
-D HASP_USE_BMPDECODE=1
27+
-D HASP_USE_GIFDECODE=0
28+
-D HASP_USE_JPGDECODE=0
29+
-D HASP_USE_QRCODE=0
30+
-D HASP_USE_MQTT=1
31+
-D MQTT_MAX_PACKET_SIZE=2048
32+
-D HASP_ATTRIBUTE_FAST_MEM=
33+
-D IRAM_ATTR= ; No IRAM_ATTR available
34+
-D PROGMEM= ; No PROGMEM available
35+
; Add recursive dirs for hal headers search
36+
-D POSIX
37+
-D PAHO_MQTT_STATIC
38+
-DPAHO_WITH_SSL=TRUE
39+
-DPAHO_BUILD_DOCUMENTATION=FALSE
40+
-DPAHO_BUILD_SAMPLES=FALSE
41+
-DCMAKE_BUILD_TYPE=Release
42+
-DCMAKE_VERBOSE_MAKEFILE=TRUE
43+
-I.pio/libdeps/darwin_headless/paho/src
44+
-I.pio/libdeps/darwin_headless/ArduinoJson/src
45+
-I lib/ArduinoJson/src
46+
-I lib/lv_fs_if
47+
48+
; ----- Statically linked libraries --------------------
49+
-lm
50+
-lpthread
51+
-DTARGET_OS_MAC=1
52+
53+
lib_deps =
54+
${env.lib_deps}
55+
${arduinojson.lib_deps}
56+
https://github.com/eclipse/paho.mqtt.c.git
57+
https://github.com/fvanroie/lv_drivers
58+
git+https://github.com/lvgl/lv_lib_png.git#release/v7
59+
60+
lib_ignore =
61+
paho
62+
AXP192
63+
ArduinoLog
64+
lv_lib_qrcode
65+
ETHSPI
66+
freetype
67+
68+
build_src_filter =
69+
+<*>
70+
-<*.h>
71+
+<../.pio/libdeps/darwin_headless/paho/src/*.c>
72+
-<../.pio/libdeps/darwin_headless/paho/src/MQTTClient.c>
73+
+<../.pio/libdeps/darwin_headless/paho/src/MQTTAsync.c>
74+
+<../.pio/libdeps/darwin_headless/paho/src/MQTTAsyncUtils.c>
75+
-<../.pio/libdeps/darwin_headless/paho/src/MQTTVersion.c>
76+
-<../.pio/libdeps/darwin_headless/paho/src/SSLSocket.c>
77+
-<MQTTClient.c>
78+
+<MQTTAsync.c>
79+
+<MQTTAsyncUtils.c>
80+
-<MQTTVersion.c>
81+
-<SSLSocket.c>
82+
-<sys/>
83+
+<sys/gpio/>
84+
+<sys/svc/>
85+
-<hal/>
86+
+<drv/>
87+
-<drv/touch>
88+
+<drv/tft>
89+
+<dev/>
90+
-<hal/>
91+
-<svc/>
92+
-<hasp_filesystem.cpp>
93+
+<font/>
94+
+<hasp/>
95+
+<lang/>
96+
-<log/>
97+
+<mqtt/>
98+
+<../.pio/libdeps/darwin_headless/ArduinoJson/src/ArduinoJson.h>

0 commit comments

Comments
 (0)