add_imgui_app(primitives_gallery main.cpp capture.cpp demo.cpp demos_core.cpp demos_viz.cpp demos_graph.cpp demos_graph_styles.cpp demos_gfx.cpp demos_3d.cpp demos_text_editor.cpp demos_gl_texture.cpp demos_extras.cpp demos_mesh.cpp # animation primitives (issue 0031) demos_animation.cpp ${CMAKE_SOURCE_DIR}/functions/core/tween_curves.cpp ${CMAKE_SOURCE_DIR}/functions/core/bezier_editor.cpp ${CMAKE_SOURCE_DIR}/functions/core/timeline.cpp demos_sql.cpp demos_scientific.cpp # text_editor + file_watcher (issue 0025) + file_poll_diff pure (issue 0045) ${CMAKE_SOURCE_DIR}/functions/core/text_editor.cpp ${CMAKE_SOURCE_DIR}/functions/core/file_watcher.cpp ${CMAKE_SOURCE_DIR}/functions/core/file_poll_diff.cpp ${CMAKE_SOURCE_DIR}/vendor/imgui_text_edit/TextEditor.cpp # sql_workbench (issue 0032) + sql_parse pure (issue 0045) ${CMAKE_SOURCE_DIR}/functions/core/sql_workbench.cpp ${CMAKE_SOURCE_DIR}/functions/core/sql_parse.cpp # Core primitives demoed (tokens vive en fn_framework) ${CMAKE_SOURCE_DIR}/functions/core/fullscreen_window.cpp ${CMAKE_SOURCE_DIR}/functions/core/page_header.cpp ${CMAKE_SOURCE_DIR}/functions/core/dashboard_panel.cpp ${CMAKE_SOURCE_DIR}/functions/core/badge.cpp ${CMAKE_SOURCE_DIR}/functions/core/empty_state.cpp ${CMAKE_SOURCE_DIR}/functions/core/button.cpp ${CMAKE_SOURCE_DIR}/functions/core/icon_button.cpp ${CMAKE_SOURCE_DIR}/functions/core/toolbar.cpp ${CMAKE_SOURCE_DIR}/functions/core/modal_dialog.cpp ${CMAKE_SOURCE_DIR}/functions/core/text_input.cpp ${CMAKE_SOURCE_DIR}/functions/core/select.cpp ${CMAKE_SOURCE_DIR}/functions/core/toast.cpp ${CMAKE_SOURCE_DIR}/functions/core/tree_view.cpp ${CMAKE_SOURCE_DIR}/functions/core/process_runner.cpp ${CMAKE_SOURCE_DIR}/functions/core/process_state_machine.cpp # Viz primitives demoed ${CMAKE_SOURCE_DIR}/functions/viz/kpi_card.cpp ${CMAKE_SOURCE_DIR}/functions/viz/bar_chart.cpp ${CMAKE_SOURCE_DIR}/functions/viz/pie_chart.cpp ${CMAKE_SOURCE_DIR}/functions/viz/line_plot.cpp ${CMAKE_SOURCE_DIR}/functions/viz/scatter_plot.cpp ${CMAKE_SOURCE_DIR}/functions/viz/histogram.cpp ${CMAKE_SOURCE_DIR}/functions/viz/sparkline.cpp ${CMAKE_SOURCE_DIR}/functions/viz/candlestick.cpp ${CMAKE_SOURCE_DIR}/functions/viz/gauge.cpp ${CMAKE_SOURCE_DIR}/functions/viz/heatmap.cpp ${CMAKE_SOURCE_DIR}/functions/viz/table_view.cpp # 3D viz primitives (issue 0028, ImPlot3D) ${CMAKE_SOURCE_DIR}/functions/viz/surface_plot_3d.cpp ${CMAKE_SOURCE_DIR}/functions/viz/scatter_3d.cpp # Scientific viz (issue 0034) ${CMAKE_SOURCE_DIR}/functions/viz/treemap.cpp ${CMAKE_SOURCE_DIR}/functions/viz/sankey.cpp ${CMAKE_SOURCE_DIR}/functions/viz/chord.cpp ${CMAKE_SOURCE_DIR}/functions/viz/contour.cpp ${CMAKE_SOURCE_DIR}/functions/viz/voronoi.cpp # Graph stack (instanced GPU + Barnes-Hut + spatial hash) ${CMAKE_SOURCE_DIR}/functions/viz/graph_types.cpp ${CMAKE_SOURCE_DIR}/functions/viz/graph_renderer.cpp ${CMAKE_SOURCE_DIR}/functions/viz/graph_icons.cpp ${CMAKE_SOURCE_DIR}/functions/viz/graph_force_layout.cpp ${CMAKE_SOURCE_DIR}/functions/viz/graph_force_layout_gpu.cpp ${CMAKE_SOURCE_DIR}/functions/viz/graph_layouts.cpp ${CMAKE_SOURCE_DIR}/functions/viz/graph_viewport.cpp ${CMAKE_SOURCE_DIR}/functions/viz/graph_viewport_selection.cpp ${CMAKE_SOURCE_DIR}/functions/viz/graph_labels.cpp ${CMAKE_SOURCE_DIR}/functions/viz/graph_labels_select.cpp ${CMAKE_SOURCE_DIR}/functions/core/graph_spatial_hash.cpp # GL loader (Linux no-op, Windows wglGetProcAddress) ${CMAKE_SOURCE_DIR}/functions/gfx/gl_loader.cpp # Shader stack (shader_canvas demo) ${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 # gl_texture_load (issue 0026) + stb_image ${CMAKE_SOURCE_DIR}/functions/gfx/gl_texture_load.cpp ${CMAKE_SOURCE_DIR}/vendor/stb/stb_image_impl.cpp # mesh_viewer stack (issue 0029) ${CMAKE_SOURCE_DIR}/functions/gfx/mesh_obj_load.cpp ${CMAKE_SOURCE_DIR}/functions/gfx/mesh_gpu.cpp ${CMAKE_SOURCE_DIR}/functions/core/orbit_camera.cpp ${CMAKE_SOURCE_DIR}/functions/viz/mesh_viewer.cpp ) target_include_directories(primitives_gallery PRIVATE ${CMAKE_SOURCE_DIR}/vendor/imgui_text_edit ${CMAKE_SOURCE_DIR}/vendor/stb ) # SQLite (sql_workbench) — alias provisto por cpp/CMakeLists.txt: # system on Linux, vendored amalgamation on Windows cross-compile. target_link_libraries(primitives_gallery PRIVATE SQLite::SQLite3) if(WIN32) target_link_libraries(primitives_gallery PRIVATE opengl32) endif() if(WIN32) set_target_properties(primitives_gallery PROPERTIES WIN32_EXECUTABLE TRUE) endif()