add_imgui_app(chart_demo
    main.cpp
    ${CMAKE_SOURCE_DIR}/functions/viz/line_plot.cpp
    ${CMAKE_SOURCE_DIR}/functions/viz/scatter_plot.cpp
    ${CMAKE_SOURCE_DIR}/functions/viz/bar_chart.cpp
    ${CMAKE_SOURCE_DIR}/functions/viz/heatmap.cpp
    # fps_overlay vive en fn_framework
)

# --- E2E tests (opt-in via -DFN_BUILD_TESTS=ON) ---
if(FN_BUILD_TESTS)
    add_imgui_app(chart_demo_tests
        main.cpp
        tests/chart_demo_tests.cpp
        ${CMAKE_SOURCE_DIR}/functions/viz/line_plot.cpp
        ${CMAKE_SOURCE_DIR}/functions/viz/scatter_plot.cpp
        ${CMAKE_SOURCE_DIR}/functions/viz/bar_chart.cpp
        ${CMAKE_SOURCE_DIR}/functions/viz/heatmap.cpp
    )
    # Excludes int main() from main.cpp so the test target provides its own.
    target_compile_definitions(chart_demo_tests PRIVATE FN_TEST_BUILD)
endif()
