docs(issues): marcar 0025 y 0026 como completados + WIP master
Wave 1 de parallel-fix-issues integrada a master: - 0025: text_editor_cpp_core + file_watcher_cpp_core - 0026: gl_texture_load_cpp_gfx (vendor: stb_image v2.30) Ademas se commitea WIP previo de master que estaba sin commitear (cambios en shaders_lab, dag_*, framework, tokens, kpi_card, gl_loader.md, etc.) para dejar HEAD buildable. Notas: - Algunos deps del gallery (button.cpp, toolbar.cpp, modal_dialog.cpp...) siguen UNTRACKED — gating con FN_BUILD_GALLERY=ON (default OFF) para que master build (sin flag) no los necesite. - Build OK con y sin flag. fn index registra 904 functions. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+60
-4
@@ -80,27 +80,82 @@ endif()
|
||||
target_link_libraries(imgui PUBLIC ${PLATFORM_LIBS})
|
||||
|
||||
# --- Framework ---
|
||||
# Incluye tokens.cpp (identidad visual Mantine dark + indigo), icon_font.cpp
|
||||
# (Karla/Roboto/... + Tabler), app_settings.cpp (persistencia y ventana de
|
||||
# settings) y fps_overlay.cpp (overlay opcional). Ver cpp/DESIGN_SYSTEM.md
|
||||
add_library(fn_framework STATIC
|
||||
framework/app_base.cpp
|
||||
functions/core/tokens.cpp
|
||||
functions/core/icon_font.cpp
|
||||
functions/core/app_settings.cpp
|
||||
functions/core/fps_overlay.cpp
|
||||
functions/core/panel_menu.cpp
|
||||
functions/core/layouts_menu.cpp
|
||||
functions/core/app_menubar.cpp
|
||||
)
|
||||
target_include_directories(fn_framework PUBLIC
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/framework
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/functions
|
||||
)
|
||||
# FN_CPP_ROOT permite que icon_font.cpp localice vendor/tabler-icons/tabler-icons.ttf
|
||||
# en builds de desarrollo desde el repo (en deploys, la TTF se copia junto al exe).
|
||||
target_compile_definitions(fn_framework PUBLIC
|
||||
FN_CPP_ROOT="${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
)
|
||||
target_link_libraries(fn_framework PUBLIC imgui implot)
|
||||
if(TRACY_ENABLE)
|
||||
target_link_libraries(fn_framework PUBLIC tracy)
|
||||
endif()
|
||||
|
||||
# --- Macro for creating ImGui apps ---
|
||||
# Capturamos la raiz del modulo cpp/ para que add_imgui_app la use desde
|
||||
# subdirectorios (donde CMAKE_CURRENT_SOURCE_DIR apunta al app, no al root).
|
||||
set(FN_CPP_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE INTERNAL "fn_registry cpp root")
|
||||
|
||||
function(add_imgui_app target)
|
||||
add_executable(${target} ${ARGN})
|
||||
target_link_libraries(${target} PRIVATE fn_framework)
|
||||
target_include_directories(${target} PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/functions
|
||||
${FN_CPP_ROOT_DIR}/functions
|
||||
)
|
||||
# Copia las fuentes junto al ejecutable para deploys autonomos (sin
|
||||
# FN_CPP_ROOT en runtime). 4 TTFs vectoriales para el menu Settings + Tabler
|
||||
# para los iconos TI_*.
|
||||
add_custom_command(TARGET ${target} POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${FN_CPP_ROOT_DIR}/vendor/imgui/misc/fonts/Karla-Regular.ttf
|
||||
$<TARGET_FILE_DIR:${target}>/Karla-Regular.ttf
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${FN_CPP_ROOT_DIR}/vendor/imgui/misc/fonts/Roboto-Medium.ttf
|
||||
$<TARGET_FILE_DIR:${target}>/Roboto-Medium.ttf
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${FN_CPP_ROOT_DIR}/vendor/imgui/misc/fonts/DroidSans.ttf
|
||||
$<TARGET_FILE_DIR:${target}>/DroidSans.ttf
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${FN_CPP_ROOT_DIR}/vendor/imgui/misc/fonts/Cousine-Regular.ttf
|
||||
$<TARGET_FILE_DIR:${target}>/Cousine-Regular.ttf
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${FN_CPP_ROOT_DIR}/vendor/tabler-icons/tabler-icons.ttf
|
||||
$<TARGET_FILE_DIR:${target}>/tabler-icons.ttf
|
||||
VERBATIM
|
||||
)
|
||||
endfunction()
|
||||
|
||||
# --- SQLite3 (shared by every app that uses it) ---
|
||||
# System on Linux, vendored amalgamation on Windows cross-compile.
|
||||
find_package(SQLite3 QUIET)
|
||||
if(NOT SQLite3_FOUND AND NOT TARGET sqlite3_vendored)
|
||||
set(SQLITE3_AMALG_DIR ${CMAKE_CURRENT_SOURCE_DIR}/vendor/sqlite3)
|
||||
add_library(sqlite3_vendored STATIC ${SQLITE3_AMALG_DIR}/sqlite3.c)
|
||||
target_include_directories(sqlite3_vendored PUBLIC ${SQLITE3_AMALG_DIR})
|
||||
target_compile_definitions(sqlite3_vendored PRIVATE
|
||||
SQLITE_THREADSAFE=1
|
||||
SQLITE_ENABLE_FTS5
|
||||
SQLITE_ENABLE_JSON1
|
||||
)
|
||||
add_library(SQLite::SQLite3 ALIAS sqlite3_vendored)
|
||||
endif()
|
||||
|
||||
# --- Function libraries (headers for composition) ---
|
||||
# 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.
|
||||
@@ -115,9 +170,10 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/apps/shaders_lab/CMakeLists.txt)
|
||||
add_subdirectory(apps/shaders_lab)
|
||||
endif()
|
||||
|
||||
# --- Primitives Gallery ---
|
||||
# Activado solo si la app esta presente Y todos sus deps tambien (button, toolbar...
|
||||
# son sources untracked en este worktree). Forzar con FN_BUILD_GALLERY=ON.
|
||||
# --- Primitives Gallery (catalogo visual de primitivos core/viz/gfx) ---
|
||||
# Algunos deps del gallery (button.cpp, toolbar.cpp, modal_dialog.cpp, etc.)
|
||||
# todavia no estan tracked en master — son WIP del usuario en cpp/functions/core/.
|
||||
# Para construir el gallery: -DFN_BUILD_GALLERY=ON (requiere tener esos sources en disco).
|
||||
if(FN_BUILD_GALLERY AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/apps/primitives_gallery/CMakeLists.txt)
|
||||
add_subdirectory(apps/primitives_gallery)
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user