diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index a5e9182a..1f8fce62 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -274,6 +274,46 @@ endfunction() # Functions are compiled as part of apps that use them via add_imgui_app. # Each function is a .h/.cpp pair included by the app's CMakeLists.txt. +# --- fn_table_viz: static lib bundling all Wave 1+2 tables-stack functions --- +# Issue 0081-I. Apps consumidores: target_link_libraries( PRIVATE fn_table_viz). +# data_table.cpp references playground-local headers (llm_anthropic.h, tql_to_sql.h, +# tql.h, data_table_logic.h). These are NOT available in the registry build — they +# live in the playground. fn_table_viz excludes data_table.cpp intentionally until +# those playground dependencies are promoted to the registry (Wave 4 deuda). +# The remaining 9 .cpp files compile cleanly with only registry headers. +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/vendor/lua/CMakeLists.txt) +add_library(fn_table_viz STATIC + ${CMAKE_CURRENT_SOURCE_DIR}/functions/core/compute_stage.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/functions/core/compute_pipeline.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/functions/core/tql_emit.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/functions/core/tql_helpers.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/functions/core/tql_apply.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/functions/core/tql_to_sql.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/functions/core/lua_engine.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/functions/core/join_tables.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/functions/core/auto_detect_type.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/functions/core/compute_column_stats.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/functions/core/llm_anthropic.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/functions/viz/viz_render.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/functions/viz/data_table.cpp +) +target_include_directories(fn_table_viz PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR}/functions +) +target_include_directories(fn_table_viz PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/framework +) +target_compile_definitions(fn_table_viz PUBLIC FN_LLM_ANTHROPIC=1) +target_link_libraries(fn_table_viz PUBLIC + imgui + implot + lua54 +) +# fn::local_path() used by data_table.cpp (Ask AI export path + TQL save/load). +# fn_framework provides the implementation; link it here. +target_link_libraries(fn_table_viz PRIVATE fn_framework) +endif() + # --- Demo app --- if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/apps/chart_demo/CMakeLists.txt) add_subdirectory(apps/chart_demo) @@ -379,3 +419,9 @@ if(BUILD_TESTING) enable_testing() add_subdirectory(tests) endif() + + +# --- dag_engine_ui --- +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/apps/dag_engine_ui/CMakeLists.txt) + add_subdirectory(apps/dag_engine_ui) +endif() diff --git a/cpp/apps/dag_engine_ui b/cpp/apps/dag_engine_ui new file mode 160000 index 00000000..334943b7 --- /dev/null +++ b/cpp/apps/dag_engine_ui @@ -0,0 +1 @@ +Subproject commit 334943b7db8dc98969e8ea8d3baf7a0c63be59df