set(INC_DIR "${PROJECT_SOURCE_DIR}/include")

add_library(in_element SHARED in_element.cpp)
target_link_libraries(in_element PRIVATE igl::core igl::tetgen)

add_library(medium-obj OBJECT
    ${INC_DIR}/render/medium.h       medium.cpp
    ${INC_DIR}/medium/homogeneous.h  homogeneous.cpp
    ${INC_DIR}/medium/heterogeneous.h  heterogeneous.cpp
    ${INC_DIR}/tetra.hpp             tetra.cpp
    ${INC_DIR}/render/phase.h        phase.cpp
)

target_compile_options(medium-obj PUBLIC -flto)
target_link_libraries(medium-obj PUBLIC
    in_element
    psdr-core-obj
    psdr-render-obj
)