120 lines
3.6 KiB
Makefile
120 lines
3.6 KiB
Makefile
PORTNAME= imgui
|
|
DISTVERSIONPREFIX= v
|
|
DISTVERSION= 1.92.9b
|
|
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= FREETYPE 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 <bsd.port.mk>
|