cmake_minimum_required(VERSION 3.16)
project(my_project LANGUAGES CXX)

find_package(ROOT REQUIRED COMPONENTS RIO Tree Hist)

include_directories(${CMAKE_CURRENT_SOURCE_DIR})

ROOT_GENERATE_DICTIONARY(G__Persistency ClassA.hh ClassB.hh
    LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/Linkdef.h
    MODULE Persistency)

add_library(Persistency SHARED ClassA.cc ClassB.cc G__Persistency.cxx)
target_link_libraries(Persistency PUBLIC ROOT::RIO ROOT::Tree ROOT::Hist)

# --- Main executable ---
add_executable(main main.cc)
target_link_libraries(main PRIVATE Persistency)