git: 491ff5dada88 - main - x11-toolkits/imgui: Switch to release from docking branch

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Tue, 05 Aug 2025 14:42:05 UTC
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=491ff5dada88925298b001bc09693a38d8b861e3

commit 491ff5dada88925298b001bc09693a38d8b861e3
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2025-08-05 14:24:29 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2025-08-05 14:24:29 +0000

    x11-toolkits/imgui: Switch to release from docking branch
    
    The docking branch has additional features such as Multi-Viewport and
    Docking. Several ports require these features.
    
    Improve port:
    - Refresh files files/CMakeLists.txt and files/imgui-config.cmake.in.
    - Fix SDL2 option.
    - Add options/backends: FREETYPE_SVG GLUT SDL3 SDL3_RENDERER SDLGPU3
      (some of them made by default).
    - Switch do-test form example_sdl2_opengl3 to example_sdl3_sdlrenderer3.
    - Partially fix warnings from portclippy.
    
    PR:             288454 283228
    Approved by:    Yuri Victorovich <yuri@freebsd.org>
---
 x11-toolkits/imgui/Makefile                    |  81 +++++++++++++++-----
 x11-toolkits/imgui/distinfo                    |   6 +-
 x11-toolkits/imgui/files/CMakeLists.txt        | 101 ++++++++++++++++++++++---
 x11-toolkits/imgui/files/imgui-config.cmake.in |  76 ++++++++++++-------
 x11-toolkits/imgui/pkg-plist                   |   9 ++-
 5 files changed, 207 insertions(+), 66 deletions(-)

diff --git a/x11-toolkits/imgui/Makefile b/x11-toolkits/imgui/Makefile
index 81a58c1de75d..4e8f9ba03b7a 100644
--- a/x11-toolkits/imgui/Makefile
+++ b/x11-toolkits/imgui/Makefile
@@ -1,6 +1,8 @@
 PORTNAME=	imgui
 DISTVERSIONPREFIX=	v
 DISTVERSION=	1.92.1
+DISTVERSIONSUFFIX=	-docking
+PORTREVISION=	1
 CATEGORIES=	x11-toolkits
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -10,24 +12,34 @@ WWW=		https://github.com/ocornut/imgui
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/LICENSE.txt
 
-USES=		cmake
-USE_LDCONFIG=	yes
-
+USES=		cmake gl
 USE_GITHUB=	yes
 GH_ACCOUNT=	ocornut
+USE_GL=		gl
+USE_LDCONFIG=	yes
 
 CMAKE_ON=	BUILD_SHARED_LIBS
+CMAKE_OFF=	EMSCRIPTEN IMGUI_TEST_ENGINE
+
+LDFLAGS+=	-lGL -L${LOCALBASE}/lib
 
-OPTIONS_DEFINE=			FREETYPE WCHAR32
+OPTIONS_DEFINE=			FREETYPE FREETYPE_SVG WCHAR32
+OPTIONS_DEFAULT=		GLFW GLUT OPENGL2 OPENGL3 SDL3 SDL3_RENDERER \
+				SDLGPU3 VULKAN
 OPTIONS_MULTI=			BACKENDS
-OPTIONS_MULTI_BACKENDS=		ALLEGRO5 GLFW OPENGL2 OPENGL3 SDL2 SDL2_RENDERER VULKAN
-OPTIONS_DEFAULT=		GLFW OPENGL2 OPENGL3
+OPTIONS_MULTI_BACKENDS=		ALLEGRO5 GLFW GLUT OPENGL2 OPENGL3 SDL2 \
+				SDL2_RENDERER SDL3 SDL3_RENDERER \
+				SDLGPU3 VULKAN
 OPTIONS_SUB=			yes
 
 ## general options
 
-FREETYPE_CMAKE_BOOL=		IMGUI_FREETYPE
 FREETYPE_LIB_DEPENDS=		libfreetype.so:print/freetype2
+FREETYPE_CMAKE_BOOL=		IMGUI_FREETYPE
+
+FREETYPE_SVG_DESC=		Support SVG fonts via plutosvg
+FREETYPE_SVG_LIB_DEPENDS=	libplutosvg.so:graphics/plutosvg
+FREETYPE_SVG_CMAKE_BOOL=	IMGUI_FREETYPE_SVG
 
 WCHAR32_DESC=			Use wchar32
 WCHAR32_CMAKE_BOOL=		IMGUI_USE_WCHAR32
@@ -35,47 +47,74 @@ WCHAR32_CMAKE_BOOL=		IMGUI_USE_WCHAR32
 ## backend options
 
 ALLEGRO5_DESC=			Install Allegro5 backend
-ALLEGRO5_CMAKE_BOOL=		IMGUI_BUILD_ALLEGRO5_BINDING
 ALLEGRO5_LIB_DEPENDS=		liballegro.so:devel/allegro5 # even though binary doesn't link to liballegro.so for some reason
+ALLEGRO5_CMAKE_BOOL=		IMGUI_BUILD_ALLEGRO5_BINDING
 
 GLFW_DESC=			Install GLFW backend
-GLFW_CMAKE_BOOL=		IMGUI_BUILD_GLFW_BINDING
-GLFW_USES=			gl
-GLFW_USE=			GL=gl
 GLFW_LIB_DEPENDS=		libglfw.so:graphics/glfw
+GLFW_CMAKE_BOOL=		IMGUI_BUILD_GLFW_BINDING
+
+GLUT_DESC=			Install GLUT backend
+GLUT_USES=			xorg
+GLUT_USE=			GL=glut XORG=xi,xmu
+GLUT_CMAKE_BOOL=		IMGUI_BUILD_GLUT_BINDING
 
 OPENGL2_DESC=			Install OPENGL2 backend
-OPENGL2_USES=			gl localbase
-OPENGL2_USE=			GL=gl
 OPENGL2_CMAKE_BOOL=		IMGUI_BUILD_OPENGL2_BINDING
 
 OPENGL3_DESC=			Install OPENGL3 backend
-OPENGL3_USES=			gl localbase
-OPENGL3_USE=			GL=gl
 OPENGL3_CMAKE_BOOL=		IMGUI_BUILD_OPENGL3_BINDING
 
 SDL2_DESC=			Install SDL2 backend
-SDL2_USES=			localbase sdl
+SDL2_PREVENTS=			SDL3 SDL3_RENDERER
+SDL2_PREVENTS_MSG=		INTERFACE_SDL_VERSION conflict
+SDL2_USES=			sdl
 SDL2_USE=			SDL=sdl2
 SDL2_CMAKE_BOOL=		IMGUI_BUILD_SDL2_BINDING
 
 SDL2_RENDERER_DESC=		Install SDL2 renderer backend
+SDL2_RENDERER_PREVENTS=		SDL3 SDL3_RENDERER SDLGPU3
+SDL2_RENDERER_PREVENTS_MSG=	INTERFACE_SDL_VERSION conflict
 SDL2_RENDERER_USES=		sdl
 SDL2_RENDERER_USE=		SDL=sdl2
 SDL2_RENDERER_CMAKE_BOOL=	IMGUI_BUILD_SDL2_RENDERER_BINDING
 
+SDL3_DESC=			Install SDL3 backend
+SDL3_PREVENTS=			SDL2 SDL2_RENDERER
+SDL3_PREVENTS_MSG=		INTERFACE_SDL_VERSION conflict
+SDL3_USES=			sdl
+SDL3_USE=			SDL=sdl3
+SDL3_CMAKE_BOOL=		IMGUI_BUILD_SDL3_BINDING
+
+SDL3_RENDERER_DESC=		Install SDL3 renderer backend
+SDL3_RENDERER_PREVENTS=		SDL2 SDL2_RENDERER
+SDL3_RENDERER_PREVENTS_MSG=	INTERFACE_SDL_VERSION conflict
+SDL3_RENDERER_USES=		sdl
+SDL3_RENDERER_USE=		SDL=sdl3
+SDL3_RENDERER_CMAKE_BOOL=	IMGUI_BUILD_SDL3_RENDERER_BINDING
+
+SDLGPU3_DESC=			Install SDL3 GPU backend
+SDLGPU3_PREVENTS=		SDL2 SDL2_RENDERER
+SDLGPU3_PREVENTS_MSG=		INTERFACE_SDL_VERSION conflict
+SDLGPU3_USES=			sdl
+SDLGPU3_USE=			SDL=sdl3
+SDLGPU3_CMAKE_BOOL=		IMGUI_BUILD_SDLGPU3_BINDING
+
 VULKAN_DESC=			Install Vulkan renderer backend
-VULKAN_CMAKE_BOOL=		IMGUI_BUILD_VULKAN_BINDING
+VULKAN_BUILD_DEPENDS=		glslangValidator:graphics/glslang \
+				glslc:graphics/shaderc \
+				${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers
 VULKAN_LIB_DEPENDS=		libvulkan.so:graphics/vulkan-loader
+VULKAN_CMAKE_BOOL=		IMGUI_BUILD_VULKAN_BINDING
 
 post-patch:
 	@${CP} ${FILESDIR}/CMakeLists.txt ${FILESDIR}/imgui-config.cmake.in ${WRKSRC}
 
 do-test:
-	@cd ${WRKSRC}/examples/example_sdl2_opengl3 && \
+	@cd ${WRKSRC}/examples/example_sdl3_sdlrenderer3 && \
 		${GMAKE} \
-			CXXFLAGS="${CXXFLAGS} `pkg-config --cflags sdl2` -I${STAGEDIR}${PREFIX}/include -I${WRKSRC}/backends" \
-			LIBS="`pkg-config --libs sdl2` -lGL" && \
-		./example_sdl2_opengl3
+			CXXFLAGS="${CXXFLAGS} `pkg-config --cflags sdl3` -I${STAGEDIR}${PREFIX}/include -I${WRKSRC}/backends" \
+			LIBS="`pkg-config --libs sdl3` -lGL" && \
+		./example_sdl3_sdlrenderer3
 
 .include <bsd.port.mk>
diff --git a/x11-toolkits/imgui/distinfo b/x11-toolkits/imgui/distinfo
index 5cd5aa3b581b..76bdc8503d3e 100644
--- a/x11-toolkits/imgui/distinfo
+++ b/x11-toolkits/imgui/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752140333
-SHA256 (ocornut-imgui-v1.92.1_GH0.tar.gz) = 32c237c2abf67a2ffccaac17192f711d4a787554b4133187a153d49057d6109c
-SIZE (ocornut-imgui-v1.92.1_GH0.tar.gz) = 1925845
+TIMESTAMP = 1754255555
+SHA256 (ocornut-imgui-v1.92.1-docking_GH0.tar.gz) = 2f308ae014a8f3a46d89cf4db71c814af815b704b8a88b7136bae148eb8f4b71
+SIZE (ocornut-imgui-v1.92.1-docking_GH0.tar.gz) = 2087814
diff --git a/x11-toolkits/imgui/files/CMakeLists.txt b/x11-toolkits/imgui/files/CMakeLists.txt
index 7c91260afea6..0ad1dd4b6532 100644
--- a/x11-toolkits/imgui/files/CMakeLists.txt
+++ b/x11-toolkits/imgui/files/CMakeLists.txt
@@ -15,7 +15,7 @@ add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
 target_include_directories(
     ${PROJECT_NAME}
     PUBLIC
-        $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+        "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_SOURCE_DIR}/test-engine>"
         $<INSTALL_INTERFACE:include>
 )
 
@@ -33,11 +33,15 @@ target_sources(
 target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_11)
 
 if(IMGUI_BUILD_ALLEGRO5_BINDING)
-    find_path(ALLEGRO5_INCLUDE_DIRS allegro5/allegro.h)
-    target_include_directories(${PROJECT_NAME} PRIVATE ${ALLEGRO5_INCLUDE_DIRS})
+    find_package(Allegro CONFIG REQUIRED)
+    target_link_libraries(${PROJECT_NAME} PRIVATE Allegro::allegro Allegro::allegro_ttf Allegro::allegro_font Allegro::allegro_main)
     target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_allegro5.cpp)
 endif()
 
+if(IMGUI_BUILD_ANDROID_BINDING)
+    target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_android.cpp)
+endif()
+
 if(IMGUI_BUILD_DX9_BINDING)
     target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx9.cpp)
 endif()
@@ -55,8 +59,10 @@ if(IMGUI_BUILD_DX12_BINDING)
 endif()
 
 if(IMGUI_BUILD_GLFW_BINDING)
-    find_package(glfw3 CONFIG REQUIRED)
-    target_link_libraries(${PROJECT_NAME} PUBLIC glfw)
+    if(NOT EMSCRIPTEN)
+        find_package(glfw3 CONFIG REQUIRED)
+        target_link_libraries(${PROJECT_NAME} PUBLIC glfw)
+    endif()
     target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glfw.cpp)
 endif()
 
@@ -86,13 +92,31 @@ endif()
 if(IMGUI_BUILD_SDL2_BINDING)
     find_package(SDL2 CONFIG REQUIRED)
     target_link_libraries(${PROJECT_NAME} PUBLIC SDL2::SDL2)
-    target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdl.cpp)
+    target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdl2.cpp)
 endif()
 
 if(IMGUI_BUILD_SDL2_RENDERER_BINDING)
     find_package(SDL2 CONFIG REQUIRED)
     target_link_libraries(${PROJECT_NAME} PUBLIC SDL2::SDL2)
-    target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlrenderer.cpp)
+    target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlrenderer2.cpp)
+endif()
+
+if(IMGUI_BUILD_SDL3_BINDING)
+    find_package(SDL3 CONFIG REQUIRED)
+    target_link_libraries(${PROJECT_NAME} PUBLIC SDL3::SDL3)
+    target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdl3.cpp)
+endif()
+
+if(IMGUI_BUILD_SDLGPU3_BINDING)
+    find_package(SDL3 CONFIG REQUIRED)
+    target_link_libraries(${PROJECT_NAME} PUBLIC SDL3::SDL3)
+    target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlgpu3.cpp)
+endif()
+
+if(IMGUI_BUILD_SDL3_RENDERER_BINDING)
+    find_package(SDL3 CONFIG REQUIRED)
+    target_link_libraries(${PROJECT_NAME} PUBLIC SDL3::SDL3)
+    target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlrenderer3.cpp)
 endif()
 
 if(IMGUI_BUILD_VULKAN_BINDING)
@@ -112,10 +136,33 @@ if(IMGUI_FREETYPE)
     target_compile_definitions(${PROJECT_NAME} PUBLIC IMGUI_ENABLE_FREETYPE)
 endif()
 
+if(IMGUI_FREETYPE_SVG)
+    find_package(plutosvg CONFIG REQUIRED)
+    target_link_libraries(${PROJECT_NAME} PUBLIC plutosvg::plutosvg)
+    target_compile_definitions(${PROJECT_NAME} PUBLIC IMGUI_ENABLE_FREETYPE_PLUTOSVG)
+endif()
+
 if(IMGUI_USE_WCHAR32)
     target_compile_definitions(${PROJECT_NAME} PUBLIC IMGUI_USE_WCHAR32)
 endif()
 
+if(IMGUI_TEST_ENGINE)
+    find_package(Stb REQUIRED)
+    target_include_directories(${PROJECT_NAME} PRIVATE ${Stb_INCLUDE_DIR})
+    target_sources(
+        ${PROJECT_NAME}
+        PRIVATE
+            ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_capture_tool.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_context.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_coroutine.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_engine.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_exporters.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_perftool.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_ui.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_utils.cpp
+    )
+endif()
+
 list(REMOVE_DUPLICATES BINDINGS_SOURCES)
 
 install(
@@ -152,6 +199,10 @@ if(NOT IMGUI_SKIP_HEADERS)
         install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_allegro5.h DESTINATION include)
     endif()
 
+    if (IMGUI_BUILD_ANDROID_BINDING)
+        install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_android.h DESTINATION include)
+    endif()
+
     if(IMGUI_BUILD_DX9_BINDING)
         install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx9.h DESTINATION include)
     endif()
@@ -198,12 +249,22 @@ if(NOT IMGUI_SKIP_HEADERS)
         install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_osx.h DESTINATION include)
     endif()
 
-    if(IMGUI_BUILD_SDL2_BINDING)
-        install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdl.h DESTINATION include)
+    if(IMGUI_BUILD_SDL3_BINDING)
+        install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdl3.h DESTINATION include)
+    endif()
+
+    if(IMGUI_BUILD_SDLGPU3_BINDING)
+        install(
+            FILES
+                ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlgpu3.h
+                ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlgpu3_shaders.h
+            DESTINATION
+                include
+        )
     endif()
 
-    if(IMGUI_BUILD_SDL2_RENDERER_BINDING)
-        install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlrenderer.h DESTINATION include)
+    if(IMGUI_BUILD_SDL3_RENDERER_BINDING)
+        install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlrenderer3.h DESTINATION include)
     endif()
 
     if(IMGUI_BUILD_VULKAN_BINDING)
@@ -217,6 +278,24 @@ if(NOT IMGUI_SKIP_HEADERS)
     if(IMGUI_FREETYPE)
         install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/misc/freetype/imgui_freetype.h DESTINATION include)
     endif()
+
+    if(IMGUI_TEST_ENGINE)
+        install(
+            FILES
+                ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_capture_tool.h
+                ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_context.h
+                ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_coroutine.h
+                ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_engine.h
+                ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_exporters.h
+                ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_imconfig.h
+                ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_internal.h
+                ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_perftool.h
+                ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_ui.h
+                ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_utils.h
+            DESTINATION
+                include
+        )
+    endif()
 endif()
 
 include(CMakePackageConfigHelpers)
diff --git a/x11-toolkits/imgui/files/imgui-config.cmake.in b/x11-toolkits/imgui/files/imgui-config.cmake.in
index 6d9933db7287..7ebfaea9305c 100644
--- a/x11-toolkits/imgui/files/imgui-config.cmake.in
+++ b/x11-toolkits/imgui/files/imgui-config.cmake.in
@@ -1,29 +1,47 @@
-# from https://raw.githubusercontent.com/microsoft/vcpkg/master/ports/imgui/imgui-config.cmake.in
-
-cmake_policy(SET CMP0012 NEW)
-
-@PACKAGE_INIT@
-
-include(CMakeFindDependencyMacro)
-
-if (@IMGUI_BUILD_GLFW_BINDING@)
-    find_dependency(glfw3 CONFIG)
-endif()
-
-if (@IMGUI_BUILD_GLUT_BINDING@)
-    find_dependency(GLUT)
-endif()
-
-if (@IMGUI_BUILD_SDL2_BINDING@ OR @IMGUI_BUILD_SDL2_RENDERER_BINDING@)
-    find_dependency(SDL2 CONFIG)
-endif()
-
-if (@IMGUI_BUILD_VULKAN_BINDING@)
-    find_dependency(Vulkan)
-endif()
-
-if (@IMGUI_FREETYPE@)
-    find_dependency(freetype CONFIG)
-endif()
-
-include("${CMAKE_CURRENT_LIST_DIR}/imgui-targets.cmake")
+# from https://raw.githubusercontent.com/microsoft/vcpkg/master/ports/imgui/imgui-config.cmake.in
+
+cmake_policy(SET CMP0012 NEW)
+
+@PACKAGE_INIT@
+
+include(CMakeFindDependencyMacro)
+
+if (@IMGUI_BUILD_GLFW_BINDING@)
+    if (NOT "@EMSCRIPTEN@")
+        find_dependency(glfw3 CONFIG)
+    endif()
+endif()
+
+if (@IMGUI_BUILD_GLUT_BINDING@)
+    find_dependency(GLUT)
+endif()
+
+if (@IMGUI_BUILD_SDL2_BINDING@ OR @IMGUI_BUILD_SDL2_RENDERER_BINDING@)
+    find_dependency(SDL2 CONFIG)
+endif()
+
+if (@IMGUI_BUILD_SDL3_BINDING@ OR @IMGUI_BUILD_SDL3_RENDERER_BINDING@ OR @IMGUI_BUILD_SDLGPU3_BINDING@)
+    find_dependency(SDL3 CONFIG)
+endif()
+
+if (@IMGUI_BUILD_VULKAN_BINDING@)
+    find_dependency(Vulkan)
+endif()
+
+if (@IMGUI_FREETYPE@)
+    find_dependency(freetype CONFIG)
+endif()
+
+if (@IMGUI_FREETYPE_SVG@)
+    find_dependency(plutosvg CONFIG)
+endif()
+
+if (@IMGUI_BUILD_ALLEGRO5_BINDING@)
+    find_dependency(Allegro CONFIG)
+endif()
+
+if (@IMGUI_TEST_ENGINE@)
+    find_dependency(Stb)
+endif()
+
+include("${CMAKE_CURRENT_LIST_DIR}/imgui-targets.cmake")
diff --git a/x11-toolkits/imgui/pkg-plist b/x11-toolkits/imgui/pkg-plist
index 7b37d848bf7b..10fc724ca2fc 100644
--- a/x11-toolkits/imgui/pkg-plist
+++ b/x11-toolkits/imgui/pkg-plist
@@ -3,11 +3,16 @@ include/imgui.h
 %%FREETYPE%%include/imgui_freetype.h
 %%ALLEGRO5%%include/imgui_impl_allegro5.h
 %%GLFW%%include/imgui_impl_glfw.h
+%%GLUT%%include/imgui_impl_glut.h
 %%OPENGL2%%include/imgui_impl_opengl2.h
 %%OPENGL3%%include/imgui_impl_opengl3.h
 %%OPENGL3%%include/imgui_impl_opengl3_loader.h
-%%SDL2%%include/imgui_impl_sdl.h
-%%SDL2_RENDERER%%include/imgui_impl_sdlrenderer.h
+%%SDL2%%include/imgui_impl_sdl2.h
+%%SDL3%%include/imgui_impl_sdl3.h
+%%SDLGPU3%%include/imgui_impl_sdlgpu3.h
+%%SDLGPU3%%include/imgui_impl_sdlgpu3_shaders.h
+%%SDL2_RENDERER%%include/imgui_impl_sdlrenderer2.h
+%%SDL3_RENDERER%%include/imgui_impl_sdlrenderer3.h
 %%VULKAN%%include/imgui_impl_vulkan.h
 include/imgui_internal.h
 include/imgui_stdlib.h