# CMakeList.txt ; CMake project for box

cmake_minimum_required(VERSION 3.13)

#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined -fsanitize=address")
find_path(TINYGLTF_INCLUDE_DIRS "tiny_gltf.h")

add_executable(model_render
    "model_render.cpp"
    "asset_loader.cpp"
    "asset_loader.h"
    "light_manager.cpp"
    "light_manager.h"
    "nodes.cpp"
    "nodes.h"
    "ibl_helpers.cpp"
    "ibl_helpers.h"
    "tiny_gltf_setup.cpp")

add_shader(model_render "shader/background.slang")
add_shader(model_render "shader/bindless.slang")
add_shader(model_render "shader/common_structs.slang")
add_shader(model_render "shader/environment.slang")
add_shader(model_render "shader/eqrect_to_cube.slang")
add_shader(model_render "shader/ibl_common.slang")
add_shader(model_render "shader/model.slang")

target_link_libraries(model_render PRIVATE aster_core)
target_link_libraries(model_render PRIVATE util_helper)

target_include_directories(model_render PRIVATE ${TINYGLTF_INCLUDE_DIRS})

add_resource_dir(model_render model)
add_resource_dir(model_render image)
