chore(vendor): vendorear ImPlot3D v0.4 como submodulo + target CMake

- submodule cpp/vendor/implot3d -> github.com/brenocq/implot3d, pinned
  commit 41ae3e447c0de20ecab95d38a4b4dc0835a3efc2 (v0.4).
- target CMake `implot3d` parejo a `implot` (3 sources: implot3d.cpp,
  implot3d_items.cpp, implot3d_meshes.cpp).
- fn_framework linkea implot3d para que cualquier app pueda usar las
  funciones viz/*_3d sin configurar nada extra.
- VENDORING.md externo (no tocamos el README upstream).

Issue 0028.
This commit is contained in:
2026-04-25 21:48:29 +02:00
parent 14cd888c2e
commit e7ab06ee29
4 changed files with 58 additions and 1 deletions
+13 -1
View File
@@ -33,6 +33,18 @@ add_library(implot STATIC
target_include_directories(implot PUBLIC ${IMPLOT_DIR})
target_link_libraries(implot PUBLIC imgui)
# --- Vendor: ImPlot3D ---
# Pinned to v0.4 (commit 41ae3e447c0de20ecab95d38a4b4dc0835a3efc2).
# See cpp/vendor/implot3d.VENDORING.md for update procedure.
set(IMPLOT3D_DIR ${CMAKE_CURRENT_SOURCE_DIR}/vendor/implot3d)
add_library(implot3d STATIC
${IMPLOT3D_DIR}/implot3d.cpp
${IMPLOT3D_DIR}/implot3d_items.cpp
${IMPLOT3D_DIR}/implot3d_meshes.cpp
)
target_include_directories(implot3d PUBLIC ${IMPLOT3D_DIR})
target_link_libraries(implot3d PUBLIC imgui)
# --- Vendor: Tracy (optional) ---
if(TRACY_ENABLE)
set(TRACY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/vendor/tracy)
@@ -102,7 +114,7 @@ target_include_directories(fn_framework PUBLIC
target_compile_definitions(fn_framework PUBLIC
FN_CPP_ROOT="${CMAKE_CURRENT_SOURCE_DIR}"
)
target_link_libraries(fn_framework PUBLIC imgui implot)
target_link_libraries(fn_framework PUBLIC imgui implot implot3d)
if(TRACY_ENABLE)
target_link_libraries(fn_framework PUBLIC tracy)
endif()