reasampler_pure_library(lane_keys SOURCES lane_keys.cpp)
reasampler_test(lane_keys LINK lane_keys)

reasampler_pure_library(solo_cache SOURCES solo_cache.cpp)
reasampler_test(solo_cache LINK solo_cache)

# lane_keys and solo_cache are PUBLIC: the lane-minting plan names managed lanes through the
# one durable-key convention, and ViewModeModel exposes the SoloCache by reference, so every
# consumer has to resolve those symbols too.
reasampler_pure_library(view_mode_model
    SOURCES view_mode_model.cpp
    LINK PRIVATE json PUBLIC lane_keys solo_cache)
reasampler_test(view_mode_model LINK view_mode_model)

reasampler_pure_library(view_tree SOURCES view_tree.cpp LINK PUBLIC view_mode_model)
reasampler_test(view_tree LINK view_tree)

reasampler_pure_library(guid_diff SOURCES guid_diff.cpp)
reasampler_test(guid_diff LINK guid_diff)

reasampler_pure_library(mode_switch SOURCES mode_switch.cpp)
reasampler_test(mode_switch LINK mode_switch)
