PORTNAME= imgui DISTVERSIONPREFIX= v DISTVERSION= 1.92.5 DISTVERSIONSUFFIX= -docking CATEGORIES= x11-toolkits MAINTAINER= yuri@FreeBSD.org COMMENT= Bloat-free Graphical User interface for C++ with minimal dependencies WWW= https://github.com/ocornut/imgui LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE.txt 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 FREETYPE_SVG WCHAR32 OPTIONS_DEFAULT= GLFW GLUT OPENGL2 OPENGL3 SDL3 SDL3_RENDERER \ SDLGPU3 VULKAN OPTIONS_MULTI= BACKENDS OPTIONS_MULTI_BACKENDS= ALLEGRO5 GLFW GLUT OPENGL2 OPENGL3 SDL2 \ SDL2_RENDERER SDL3 SDL3_RENDERER \ SDLGPU3 VULKAN OPTIONS_SUB= yes ## general options 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 ## backend options ALLEGRO5_DESC= Install Allegro5 backend 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_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_CMAKE_BOOL= IMGUI_BUILD_OPENGL2_BINDING OPENGL3_DESC= Install OPENGL3 backend OPENGL3_CMAKE_BOOL= IMGUI_BUILD_OPENGL3_BINDING SDL2_DESC= Install SDL2 backend 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_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_sdl3_sdlrenderer3 && \ ${GMAKE} \ CXXFLAGS="${CXXFLAGS} `pkg-config --cflags sdl3` -I${STAGEDIR}${PREFIX}/include -I${WRKSRC}/backends" \ LIBS="`pkg-config --libs sdl3` -lGL" && \ ./example_sdl3_sdlrenderer3 .include