Skip to content

refactor, consume external plot:: via find_package(plot) and drop vendored include/plot #19

Description

@steven-varga

plot:: is now its own project (vargalabs/plots). Make bench depend on it externally instead of carrying a vendored copy.

Changes

  • Delete include/plot/ from bench (lives in vargalabs/plots now).
  • Delete the plot-only examples/tests that moved to plots: examples/line_chart.cpp, examples/scatter.cpp, examples/heatmap.cpp, test/plot_gr.cpp.
  • KEEP include/bench/sink/svg.hpp (still #include <plot/all>), the svg_sink example (examples/svg_sink.cpp), and the svg test (test/svg.cpp).
  • Top CMakeLists.txt: find_package(plot CONFIG QUIET) — OPTIONAL. The bench core must still configure+build with plot absent.
  • Gate the svg pieces on plot_FOUND: the svg test (test/CMakeLists.txt) and example_svg_sink (examples/CMakeLists.txt) are only added when plot_FOUND, and link plot::plot. Print a status when skipped.

Verify

  • WITHOUT plot: cmake -S . -B build && cmake --build build && ctest → core green, svg test absent.
  • WITH plot: build+install vargalabs/plots to a temp prefix, configure bench with -DCMAKE_PREFIX_PATH=<prefix> -DBENCH_BUILD_EXAMPLES=ON, build, ctest (svg test runs+passes), run example_svg_sink.

CI

Keep CI simple: core build (plot auto-skips when absent). Do NOT attempt private cross-repo checkout/auth for plot in CI for now — note that svg coverage is local until plot is installable in CI.

Base: staging, PR -> staging.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions