Files
haikuports/gui-libs/imgui/imgui-1.92.7.recipe
2026-04-13 16:26:40 +00:00

81 lines
2.2 KiB
Bash

SUMMARY="Bloat-free Graphical User interface for C++ with minimal dependencies"
DESCRIPTION="Dear ImGui is a bloat-free graphical user interface library for C++. It outputs optimized vertex buffers \
that you can render anytime in your 3D-pipeline-enabled application.
It is fast, portable, renderer agnostic, and self-contained (no external dependencies)."
HOMEPAGE="https://github.com/ocornut/imgui"
COPYRIGHT="2026 Omar Cornut and ImGui contributors"
LICENSE="MIT"
REVISION="1"
SOURCE_URI="https://github.com/ocornut/imgui/archive/refs/tags/v$portVersion.tar.gz"
CHECKSUM_SHA256="b21b14ce1ef6dd4d85fa54f68f8449a9be94f3b453aba7fe4ea2a9764e43a5ef"
PATCHES="imgui-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
imgui$secondaryArchSuffix = $portVersion
lib:libimgui$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libglfw$secondaryArchSuffix
lib:libSDL3$secondaryArchSuffix
lib:libvulkan$secondaryArchSuffix
"
PROVIDES_devel="
imgui${secondaryArchSuffix}_devel = $portVersion
devel:libimgui$secondaryArchSuffix
"
REQUIRES_devel="
imgui$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libfreetype$secondaryArchSuffix
devel:libgl$secondaryArchSuffix
devel:libglfw$secondaryArchSuffix
devel:libglu$secondaryArchSuffix
devel:libSDL3$secondaryArchSuffix
devel:libvulkan$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:make
"
BUILD()
{
freetypedir=$(finddir B_SYSTEM_DIRECTORY)/$relativeIncludeDir/freetype2
cmake -Bbuild -S. $cmakeDirArgs -DCMAKE_BUILD_TYPE=Release \
-DFREETYPE_INCLUDE_DIR=$freetypedir \
-DIMGUI_BUILD_GLFW_BINDING=ON \
-DIMGUI_BUILD_OPENGL2_BINDING=ON \
-DIMGUI_BUILD_OPENGL3_BINDING=ON \
-DIMGUI_BUILD_SDL3_BINDING=ON \
-DIMGUI_BUILD_SDL3_RENDERER_BINDING=ON \
-DIMGUI_BUILD_SDLGPU3_BINDING=ON \
-DIMGUI_BUILD_VULKAN_BINDING=ON \
-DIMGUI_FREETYPE=ON \
-DBUILD_SHARED_LIBS=ON
make -C build $jobArgs
}
INSTALL()
{
make -C build install
prepareInstalledDevelLib libimgui
# devel package
packageEntries devel \
$developDir \
$libDir/cmake
}