add_library(hyperlux_backend INTERFACE)
target_link_libraries(hyperlux_backend INTERFACE assimp::assimp)

add_library(hyperlux_backend_depth INTERFACE)
target_link_libraries(hyperlux_backend_depth INTERFACE assimp::assimp)

add_library(hyperlux_backend_segmentation INTERFACE)
target_link_libraries(hyperlux_backend_segmentation INTERFACE assimp::assimp)

add_library(hyperlux_backend_normals INTERFACE)
target_link_libraries(hyperlux_backend_normals INTERFACE assimp::assimp)

# Rule-13 guard: the freestanding kernels header must compile without any C++ standard library
# headers. Compile-only; never executed.
add_library(hyperlux_generic_freestanding_check OBJECT freestanding_check.cpp)
target_include_directories(hyperlux_generic_freestanding_check PRIVATE ${CMAKE_SOURCE_DIR}/include)
target_compile_options(hyperlux_generic_freestanding_check PRIVATE -nostdinc++ -fno-exceptions -fno-rtti)
