mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-23 05:53:12 -04:00
media-libs/imgui: install all the generated cimgui files
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
@@ -43,13 +43,22 @@ if(IMGUI_VULKAN)
|
|||||||
list(APPEND GENERATOR_ARGS vulkan)
|
list(APPEND GENERATOR_ARGS vulkan)
|
||||||
endif()
|
endif()
|
||||||
list(APPEND GENERATOR_ARGS ${IMGUI_COMMON_FLAGS} ${CMAKE_CPP_FLAGS})
|
list(APPEND GENERATOR_ARGS ${IMGUI_COMMON_FLAGS} ${CMAKE_CPP_FLAGS})
|
||||||
file(GLOB GENERATOR_OUTPUT_FILES "${CMAKE_SOURCE_DIR}/generator/output/*")
|
set(CIMGUI_EXTRA_STUFF
|
||||||
list(APPEND
|
${CMAKE_SOURCE_DIR}/generator/output/definitions.json
|
||||||
GENERATOR_OUTPUT_FILES
|
${CMAKE_SOURCE_DIR}/generator/output/definitions.lua
|
||||||
|
${CMAKE_SOURCE_DIR}/generator/output/impl_definitions.json
|
||||||
|
${CMAKE_SOURCE_DIR}/generator/output/impl_definitions.lua
|
||||||
|
${CMAKE_SOURCE_DIR}/generator/output/overloads.txt
|
||||||
|
${CMAKE_SOURCE_DIR}/generator/output/structs_and_enums.json
|
||||||
|
${CMAKE_SOURCE_DIR}/generator/output/structs_and_enums.lua
|
||||||
|
${CMAKE_SOURCE_DIR}/generator/output/typedefs_dict.json
|
||||||
|
${CMAKE_SOURCE_DIR}/generator/output/typedefs_dict.lua
|
||||||
|
)
|
||||||
|
set(GENERATOR_OUTPUT_FILES
|
||||||
${CMAKE_SOURCE_DIR}/cimgui.cpp
|
${CMAKE_SOURCE_DIR}/cimgui.cpp
|
||||||
${CMAKE_SOURCE_DIR}/cimgui.h
|
${CMAKE_SOURCE_DIR}/cimgui.h
|
||||||
${CMAKE_SOURCE_DIR}/generator/output/cimgui_nopreprocess.cpp
|
${CMAKE_SOURCE_DIR}/generator/output/cimgui_impl.h
|
||||||
${CMAKE_SOURCE_DIR}/generator/output/cimgui_nopreprocess.h
|
${CIMGUI_EXTRA_STUFF}
|
||||||
)
|
)
|
||||||
ADD_CUSTOM_COMMAND(VERBATIM
|
ADD_CUSTOM_COMMAND(VERBATIM
|
||||||
OUTPUT ${GENERATOR_OUTPUT_FILES}
|
OUTPUT ${GENERATOR_OUTPUT_FILES}
|
||||||
@@ -57,7 +66,10 @@ ADD_CUSTOM_COMMAND(VERBATIM
|
|||||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/generator"
|
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/generator"
|
||||||
)
|
)
|
||||||
set(CIMGUI_SOURCES "${CMAKE_SOURCE_DIR}/cimgui.cpp")
|
set(CIMGUI_SOURCES "${CMAKE_SOURCE_DIR}/cimgui.cpp")
|
||||||
set(CIMGUI_INCLUDE_FILES "${CMAKE_SOURCE_DIR}/cimgui.h")
|
set(CIMGUI_INCLUDE_FILES
|
||||||
|
"${CMAKE_SOURCE_DIR}/cimgui.h"
|
||||||
|
"${CMAKE_SOURCE_DIR}/generator/output/cimgui_impl.h"
|
||||||
|
)
|
||||||
|
|
||||||
target_sources(cimgui
|
target_sources(cimgui
|
||||||
PUBLIC
|
PUBLIC
|
||||||
@@ -70,6 +82,7 @@ include(GNUInstallDirs)
|
|||||||
#install
|
#install
|
||||||
install(TARGETS cimgui LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
install(TARGETS cimgui LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
install(FILES ${CIMGUI_INCLUDE_FILES} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/imgui")
|
install(FILES ${CIMGUI_INCLUDE_FILES} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/imgui")
|
||||||
|
install(FILES ${CIMGUI_EXTRA_STUFF} DESTINATION "${CMAKE_INSTALL_DATADIR}/cimgui")
|
||||||
|
|
||||||
#test
|
#test
|
||||||
set(CIMGUI_TEST "no" CACHE STRING "Enable compilation of a test unit based on imgui null")
|
set(CIMGUI_TEST "no" CACHE STRING "Enable compilation of a test unit based on imgui null")
|
||||||
@@ -78,3 +91,4 @@ if (CIMGUI_TEST)
|
|||||||
add_subdirectory(test)
|
add_subdirectory(test)
|
||||||
endif ()
|
endif ()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
113
media-libs/imgui/imgui-1.87-r7.ebuild
Normal file
113
media-libs/imgui/imgui-1.87-r7.ebuild
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit cmake
|
||||||
|
|
||||||
|
DESCRIPTION="Bloat-free graphical user interface library for C++"
|
||||||
|
HOMEPAGE="
|
||||||
|
https://github.com/ocornut/imgui
|
||||||
|
https://github.com/cimgui/cimgui
|
||||||
|
"
|
||||||
|
SRC_URI="
|
||||||
|
https://github.com/ocornut/imgui/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
|
||||||
|
https://github.com/cimgui/cimgui/archive/refs/tags/${PV}.tar.gz -> c${P}.gh.tar.gz
|
||||||
|
"
|
||||||
|
|
||||||
|
LICENSE="MIT"
|
||||||
|
SLOT="0/${PV}"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
IUSE="allegro bindings examples freetype glfw glut opengl sdl vulkan"
|
||||||
|
S="${WORKDIR}/c${P}"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
dev-libs/stb:=
|
||||||
|
allegro? ( media-libs/allegro:5 )
|
||||||
|
freetype? ( media-libs/freetype )
|
||||||
|
glfw? ( media-libs/glfw:0 )
|
||||||
|
glut? ( media-libs/freeglut )
|
||||||
|
opengl? ( virtual/opengl )
|
||||||
|
sdl? ( media-libs/libsdl2 )
|
||||||
|
vulkan? ( media-libs/vulkan-loader )
|
||||||
|
"
|
||||||
|
DEPEND="
|
||||||
|
${RDEPEND}
|
||||||
|
vulkan? ( dev-util/vulkan-headers )
|
||||||
|
"
|
||||||
|
BDEPEND="
|
||||||
|
bindings? ( dev-lang/luajit )
|
||||||
|
virtual/pkgconfig
|
||||||
|
"
|
||||||
|
|
||||||
|
REQUIRED_USE="
|
||||||
|
|| (
|
||||||
|
allegro
|
||||||
|
glfw
|
||||||
|
glut
|
||||||
|
sdl
|
||||||
|
)
|
||||||
|
|| (
|
||||||
|
allegro
|
||||||
|
opengl
|
||||||
|
vulkan
|
||||||
|
)
|
||||||
|
"
|
||||||
|
|
||||||
|
PATCHES=( "${FILESDIR}/${P}-fpermissive.patch" )
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
pushd ../ || die
|
||||||
|
rm -rf "${S}/imgui" || die
|
||||||
|
mv "${P}" "${S}/imgui" || die
|
||||||
|
pushd "${S}/imgui" || die
|
||||||
|
|
||||||
|
# imgui
|
||||||
|
rm -r examples/libs || die
|
||||||
|
rm -r misc/*/*.ttf || die
|
||||||
|
rm -r misc/single_file || die
|
||||||
|
|
||||||
|
cp "${FILESDIR}/${P}-CMakeLists.txt" CMakeLists.txt || die
|
||||||
|
cp "${FILESDIR}/imgui.pc.in" imgui.pc.in || die
|
||||||
|
sed -e "s|@version@|${PV}|g" -i imgui.pc.in || die
|
||||||
|
|
||||||
|
pushd "${S}" || die
|
||||||
|
cp "${FILESDIR}/c${P}-CMakeLists.txt" CMakeLists.txt || die
|
||||||
|
# remove files to be generated
|
||||||
|
rm cimgui.cpp cimgui.h generator/output/* || die
|
||||||
|
cmake_src_prepare
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local mycmakeargs=(
|
||||||
|
-DIMGUI_ALLEGRO=$(usex allegro)
|
||||||
|
-DIMGUI_BINDINGS=$(usex bindings)
|
||||||
|
-DIMGUI_EXAMPLES=$(usex examples)
|
||||||
|
-DIMGUI_FREETYPE=$(usex freetype)
|
||||||
|
-DIMGUI_GLFW=$(usex glfw)
|
||||||
|
-DIMGUI_GLUT=$(usex glut)
|
||||||
|
-DIMGUI_OPENGL=$(usex opengl)
|
||||||
|
-DIMGUI_SDL=$(usex sdl)
|
||||||
|
-DIMGUI_VULKAN=$(usex vulkan)
|
||||||
|
)
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
|
||||||
|
cmake_src_install
|
||||||
|
|
||||||
|
pushd imgui || die
|
||||||
|
# imgui
|
||||||
|
rm -rf misc/{fonts,freetype} || die
|
||||||
|
dodoc -r misc
|
||||||
|
|
||||||
|
popd || die
|
||||||
|
|
||||||
|
if use bindings; then
|
||||||
|
# cimgui
|
||||||
|
|
||||||
|
insinto "/usr/share/doc/${PF}/cimgui"
|
||||||
|
doins README.md TODO.txt
|
||||||
|
fi
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user