cmake_minimum_required(VERSION 3.16)
project(XRayFocusSimulation LANGUAGES CXX)

find_package(Geant4 REQUIRED ui_all vis_all)
include(${Geant4_USE_FILE})

file(GLOB PROJECT_SOURCES CONFIGURE_DEPENDS
    ${PROJECT_SOURCE_DIR}/src/*.cc
)
file(GLOB PROJECT_HEADERS CONFIGURE_DEPENDS
    ${PROJECT_SOURCE_DIR}/include/*.hh
)

add_executable(xray_focus
    xray_focus.cc
    ${PROJECT_SOURCES}
    ${PROJECT_HEADERS}
)

target_include_directories(xray_focus PRIVATE
    ${PROJECT_SOURCE_DIR}/include
)

target_link_libraries(xray_focus PRIVATE
    ${Geant4_LIBRARIES}
)

target_compile_features(xray_focus PRIVATE cxx_std_17)

set(PROJECT_RESOURCES
    macros/init_vis.mac
    macros/vis.mac
    macros/run.mac
    macros/quick.mac
    spectrum_80kvp.csv
    plot_detector.py
)

foreach(resource ${PROJECT_RESOURCES})
    configure_file(
        ${PROJECT_SOURCE_DIR}/${resource}
        ${PROJECT_BINARY_DIR}/
        COPYONLY
    )
endforeach()

install(TARGETS xray_focus DESTINATION bin)
