@@ -177,6 +177,15 @@ stb_dep = declare_dependency(
177177 include_directories : include_directories (' third_party/stb' , is_system : true ),
178178)
179179
180+ # ── Vendored: tomlplusplus (header-only) ─────────────────────────────────
181+ if get_option (' system_tomlplusplus' )
182+ tomlplusplus_dep = dependency (' tomlplusplus' )
183+ else
184+ tomlplusplus_dep = declare_dependency (
185+ include_directories : include_directories (' third_party/tomlplusplus' , is_system : true ),
186+ )
187+ endif
188+
180189# ── Vendored: md4c (CommonMark parser) ───────────────────────────────────────
181190_md4c_lib = static_library (' md4c' ,
182191 ' third_party/md4c/md4c.c' ,
@@ -875,7 +884,6 @@ endif
875884# ── Include directories ────────────────────────────────────────────────────────
876885_noctalia_inc = [
877886 include_directories (' src' ),
878- include_directories (' third_party/tomlplusplus' , is_system : true ),
879887 include_directories (' third_party/wuffs' , is_system : true ),
880888 # nlohmann is header-only and uses GCC extensions in some paths; treat as system.
881889 include_directories (' third_party/nlohmann' , is_system : true ),
@@ -917,6 +925,7 @@ noctalia_exe = executable('noctalia',
917925 mcu_dep,
918926 libxml2_dep,
919927 stb_dep,
928+ tomlplusplus_dep,
920929 md4c_dep,
921930 libwebp_dep,
922931 luau_dep,
@@ -1057,6 +1066,17 @@ battery_hook_state_test = executable('battery_hook_state_test',
10571066
10581067test (' battery_hook_state' , battery_hook_state_test)
10591068
1069+ hook_manager_test = executable (' hook_manager_test' ,
1070+ sources : files (
1071+ ' tests/hook_manager_test.cpp' ,
1072+ ' src/hooks/hook_manager.cpp' ,
1073+ ' src/core/log.cpp' ,
1074+ ),
1075+ include_directories : _noctalia_inc,
1076+ )
1077+
1078+ test (' hook_manager' , hook_manager_test)
1079+
10601080desktop_entry_launch_test = executable (' desktop_entry_launch_test' ,
10611081 sources : files (
10621082 ' tests/desktop_entry_launch_test.cpp' ,
@@ -1269,6 +1289,9 @@ plugin_manifest_test = executable('plugin_manifest_test',
12691289 ' src/core/log.cpp' ,
12701290 ),
12711291 include_directories : _noctalia_inc,
1292+ dependencies : [
1293+ tomlplusplus_dep,
1294+ ],
12721295)
12731296
12741297test (' plugin_manifest' , plugin_manifest_test)
@@ -1308,7 +1331,10 @@ config_schema_roundtrip_test = executable('config_schema_roundtrip_test',
13081331 ' src/core/key_chord.cpp' ,
13091332 ),
13101333 include_directories : _noctalia_inc,
1311- dependencies : [xkbcommon_dep],
1334+ dependencies : [
1335+ xkbcommon_dep,
1336+ tomlplusplus_dep,
1337+ ],
13121338)
13131339
13141340test (' config_schema_roundtrip' , config_schema_roundtrip_test)
@@ -1327,7 +1353,10 @@ config_widget_test = executable('config_widget_test',
13271353 ' src/core/key_chord.cpp' ,
13281354 ),
13291355 include_directories : _noctalia_inc,
1330- dependencies : [xkbcommon_dep],
1356+ dependencies : [
1357+ xkbcommon_dep,
1358+ tomlplusplus_dep,
1359+ ],
13311360)
13321361
13331362test (' config_widget' , config_widget_test)
@@ -1347,7 +1376,10 @@ config_path_resolution_test = executable('config_path_resolution_test',
13471376 ' src/core/key_chord.cpp' ,
13481377 ),
13491378 include_directories : _noctalia_inc,
1350- dependencies : [xkbcommon_dep],
1379+ dependencies : [
1380+ xkbcommon_dep,
1381+ tomlplusplus_dep,
1382+ ],
13511383)
13521384
13531385test (' config_path_resolution' , config_path_resolution_test)
@@ -1373,6 +1405,9 @@ state_store_test = executable('state_store_test',
13731405 ' src/core/log.cpp' ,
13741406 ),
13751407 include_directories : _noctalia_inc,
1408+ dependencies : [
1409+ tomlplusplus_dep,
1410+ ],
13761411)
13771412
13781413test (' state_store' , state_store_test)
0 commit comments