# navegator_dashboard — Windows-only por diseño. # Linux: skip silenciosamente para que cpp/build/ no falle. if(NOT WIN32) message(STATUS "navegator_dashboard: skipping (Windows-only).") return() endif() add_imgui_app(navegator_dashboard main.cpp chrome_scanner.cpp chrome_launcher.cpp local_api.cpp panels.cpp agent.cpp cdp_http.cpp cdp_ws.cpp network_state.cpp session_state.cpp picker_state.cpp py_subprocess.cpp autoextract_panel.cpp recipes_panel.cpp ) target_include_directories(navegator_dashboard PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) # imgui_node_editor expone su propio include dir (vendor/imgui-node-editor) # que contiene crude_json.{h,cpp}. Lo linkamos solo para reusar crude_json # como parser JSON: sin dependencia nueva, sin codigo de node-editor en runtime. target_link_libraries(navegator_dashboard PRIVATE ws2_32 imgui_node_editor ) # fn_module_data_table: provides data_table::render(), viz_render, TQL engine, Lua, LLM. # Guard keeps the app compilable in builds where vendor/lua is absent. if(TARGET fn_module_data_table) target_link_libraries(navegator_dashboard PRIVATE fn_module_data_table) endif() set_target_properties(navegator_dashboard PROPERTIES WIN32_EXECUTABLE TRUE) # --- E2E tests (opt-in via -DFN_BUILD_TESTS=ON) --- if(FN_BUILD_TESTS) add_imgui_app(navegator_dashboard_tests main.cpp chrome_scanner.cpp chrome_launcher.cpp local_api.cpp panels.cpp agent.cpp cdp_http.cpp cdp_ws.cpp network_state.cpp session_state.cpp picker_state.cpp py_subprocess.cpp autoextract_panel.cpp recipes_panel.cpp tests/navegator_dashboard_tests.cpp ) target_include_directories(navegator_dashboard_tests PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_link_libraries(navegator_dashboard_tests PRIVATE ws2_32 imgui_node_editor ) if(TARGET fn_module_data_table) target_link_libraries(navegator_dashboard_tests PRIVATE fn_module_data_table) endif() # Excluye int main() de main.cpp; el harness define su propio main(). target_compile_definitions(navegator_dashboard_tests PRIVATE FN_TEST_BUILD) # Subsistema consola (no WIN32_EXECUTABLE) para ver output de los tests. set_target_properties(navegator_dashboard_tests PROPERTIES WIN32_EXECUTABLE FALSE) endif()