add_executable(test_hmap test_hmap.cpp)
target_link_libraries(test_hmap PRIVATE hmap)
add_test(NAME libhmap COMMAND test_hmap)

# Optional: exercises the editor's logic (commands, picking, camera maths, scripted mouse drags) without a GPU.
option(HPP_BUILD_EDITOR_LOGIC_TESTS "Headless editor logic tests (Linux only, uses API stubs)" OFF)
if(HPP_BUILD_EDITOR_LOGIC_TESTS AND CMAKE_SYSTEM_NAME STREQUAL "Linux")
  add_executable(test_editor_logic
    editor_headless/test_editor.cpp
    editor_headless/impl.cpp
    ../editor/editor.cpp
    ../editor/render.cpp
    ../editor/viewport.cpp)
  target_include_directories(test_editor_logic BEFORE PRIVATE editor_headless/stubs ../editor)
  target_compile_definitions(test_editor_logic PRIVATE HPP_ASSET_DIR="assets")
  target_link_libraries(test_editor_logic PRIVATE hmap)
  target_link_options(test_editor_logic PRIVATE -Wl,--unresolved-symbols=ignore-all)
  add_test(NAME editor_logic COMMAND test_editor_logic)
endif()
