add_library(scenes_cube STATIC "cube.cpp") target_include_directories(scenes_cube PRIVATE "." "..") target_compile_features(scenes_cube PRIVATE cxx_std_23) target_compile_options(scenes_cube PRIVATE ${BASE_OPTIONS}) target_compile_definitions(scenes_cube PRIVATE ${BASE_DEFINITIONS}) target_link_libraries(scenes_cube PUBLIC cbt_scene glm::glm) add_library(scenes_sphere STATIC "sphere.cpp") target_include_directories(scenes_sphere PRIVATE "." "..") target_compile_features(scenes_sphere PRIVATE cxx_std_23) target_compile_options(scenes_sphere PRIVATE ${BASE_OPTIONS}) target_compile_definitions(scenes_sphere PRIVATE ${BASE_DEFINITIONS}) target_link_libraries(scenes_sphere PUBLIC cbt_scene glm::glm) add_library(scenes_cornell_box STATIC "cornell_box.cpp") target_include_directories(scenes_cornell_box PRIVATE "." "..") target_compile_features(scenes_cornell_box PRIVATE cxx_std_23) target_compile_options(scenes_cornell_box PRIVATE ${BASE_OPTIONS}) target_compile_definitions(scenes_cornell_box PRIVATE ${BASE_DEFINITIONS}) target_link_libraries(scenes_cornell_box PUBLIC cbt_scene glm::glm) # Convenience interface for all scenes add_library(scenes INTERFACE) target_link_libraries(scenes INTERFACE scenes_cube scenes_sphere scenes_cornell_box)