add_imgui_app(shaders_lab
    main.cpp
    ${CMAKE_SOURCE_DIR}/functions/gfx/gl_loader.cpp
    ${CMAKE_SOURCE_DIR}/functions/gfx/gl_shader.cpp
    ${CMAKE_SOURCE_DIR}/functions/gfx/gl_framebuffer.cpp
    ${CMAKE_SOURCE_DIR}/functions/gfx/fullscreen_quad.cpp
    ${CMAKE_SOURCE_DIR}/functions/gfx/shader_canvas.cpp
    ${CMAKE_SOURCE_DIR}/functions/gfx/uniform_parser.cpp
    ${CMAKE_SOURCE_DIR}/functions/gfx/uniform_panel.cpp
    ${CMAKE_SOURCE_DIR}/functions/gfx/dag_catalog.cpp
    ${CMAKE_SOURCE_DIR}/functions/gfx/dag_compile.cpp
    ${CMAKE_SOURCE_DIR}/functions/gfx/dag_uniforms.cpp
    ${CMAKE_SOURCE_DIR}/functions/gfx/dag_panel.cpp
    ${CMAKE_SOURCE_DIR}/functions/gfx/dag_node_editor.cpp
    ${CMAKE_SOURCE_DIR}/functions/gfx/dag_palette.cpp
    ${CMAKE_SOURCE_DIR}/functions/gfx/dag_node_previews.cpp
    ${CMAKE_SOURCE_DIR}/functions/gfx/shaderlab_db.cpp
    ${CMAKE_SOURCE_DIR}/functions/gfx/code_to_generator.cpp
    # fps_overlay, panel_menu, layouts_menu, app_menubar ya viven en fn_framework
    ${CMAKE_SOURCE_DIR}/functions/core/layout_storage_sqlite.cpp
)
target_include_directories(shaders_lab PRIVATE
    ${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_libraries(shaders_lab PRIVATE imgui_node_editor SQLite::SQLite3)

if(WIN32)
    # GUI app: sin consola al lanzar (subsystem:windows / -mwindows)
    set_target_properties(shaders_lab PROPERTIES WIN32_EXECUTABLE TRUE)
endif()
