commit:     6b24ca9ef444311a78105507d415509a8dd7d836
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Wed May  4 00:59:16 2022 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Wed May  4 00:59:16 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=6b24ca9e

media-libs/imgui: fix pkgconfig file

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 media-libs/imgui/files/imgui-1.87-CMakeLists.txt              | 11 ++++++++++-
 media-libs/imgui/files/imgui.pc.in                            |  6 +++---
 .../imgui/{imgui-1.87-r4.ebuild => imgui-1.87-r5.ebuild}      |  5 ++++-
 3 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/media-libs/imgui/files/imgui-1.87-CMakeLists.txt 
b/media-libs/imgui/files/imgui-1.87-CMakeLists.txt
index 0823d1dc3..1735d8270 100644
--- a/media-libs/imgui/files/imgui-1.87-CMakeLists.txt
+++ b/media-libs/imgui/files/imgui-1.87-CMakeLists.txt
@@ -4,6 +4,8 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
 
 include(GNUInstallDirs)
 
+set(pc_req_private)
+
 option(IMGUI_ALLEGRO OFF)
 option(IMGUI_EXAMPLES "Build ImGui examples" OFF)
 option(IMGUI_FREETYPE OFF)
@@ -32,6 +34,7 @@ if(IMGUI_ALLEGRO)
        target_sources(imgui_objects PUBLIC 
"${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_allegro5.cpp")
        target_include_directories(imgui_objects PUBLIC 
${ALLEGRO5_INCLUDE_DIRS})
        list(APPEND IMGUI_LIBRARIES ${ALLEGRO5_LIBRARIES})
+       string(APPEND pc_req_private " allegro-5 allegro_main-5 
allegro_primitives-5")
 endif()
 if(IMGUI_FREETYPE)
        find_package(Freetype REQUIRED)
@@ -44,17 +47,20 @@ if(IMGUI_FREETYPE)
        target_include_directories(binary_to_compressed_c PUBLIC 
"${CMAKE_CURRENT_SOURCE_DIR}")
        target_link_libraries(binary_to_compressed_c PUBLIC imgui)
        install(TARGETS binary_to_compressed_c DESTINATION 
"${CMAKE_INSTALL_LIBEXECDIR}/imgui")
+       string(APPEND pc_req_private " freetype2")
 endif()
 if(IMGUI_GLFW)
        find_package(glfw3 REQUIRED)
        target_sources(imgui_objects PUBLIC 
"${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glfw.cpp")
        list(APPEND IMGUI_LIBRARIES glfw)
+       string(APPEND pc_req_private " glfw3")
 endif()
 if(IMGUI_GLUT)
        find_package(FreeGLUT REQUIRED)
        target_sources(imgui_objects PUBLIC 
"${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glut.cpp")
        target_include_directories(imgui_objects PUBLIC 
${FreeGLUT_INCLUDE_DIRS})
        list(APPEND IMGUI_LIBRARIES FreeGLUT::freeglut)
+       string(APPEND pc_req_private " glut")
 endif()
 if(IMGUI_OPENGL)
        find_package(OpenGL REQUIRED)
@@ -65,6 +71,7 @@ if(IMGUI_OPENGL)
        )
        target_include_directories(imgui_objects PUBLIC ${OPENGL_INCLUDE_DIR})
        list(APPEND IMGUI_LIBRARIES ${OPENGL_gl_LIBRARY})
+       string(APPEND pc_req_private " opengl")
 endif()
 if(IMGUI_SDL)
        find_package(SDL2 REQUIRED)
@@ -75,6 +82,7 @@ if(IMGUI_SDL)
        )
        target_include_directories(imgui_objects PUBLIC "${SDL2_INCLUDE_DIRS}")
        list(APPEND IMGUI_LIBRARIES "${SDL2_LIBRARIES}")
+       string(APPEND pc_req_private " sdl2")
 endif()
 if(IMGUI_VULKAN)
        find_package(Vulkan REQUIRED)
@@ -82,6 +90,7 @@ if(IMGUI_VULKAN)
        set(IMGUI_COMMON_FLAGS "${IMGUI_COMMON_FLAGS} -DImTextureID=ImU64")
        target_include_directories(imgui_objects PUBLIC ${Vulkan_INCLUDE_DIRS})
        list(APPEND IMGUI_LIBRARIES Vulkan::Vulkan)
+       string(APPEND pc_req_private " vulkan")
 endif()
 
 if(IMGUI_EXAMPLES)
@@ -142,7 +151,7 @@ if(IMGUI_EXAMPLES)
        endif()
 endif()
 
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${IMGUI_COMMON_FLAGS} -fpermissive")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${IMGUI_COMMON_FLAGS}")
 target_sources (imgui PUBLIC $<TARGET_OBJECTS:imgui_objects>)
 
 add_library(imgui::imgui ALIAS imgui)

diff --git a/media-libs/imgui/files/imgui.pc.in 
b/media-libs/imgui/files/imgui.pc.in
index 4d033939f..e7776fc8c 100644
--- a/media-libs/imgui/files/imgui.pc.in
+++ b/media-libs/imgui/files/imgui.pc.in
@@ -6,6 +6,6 @@ Name: imgui
 Description: Bloat-free Immediate Mode Graphical User interface for C
 Version: @version@
 URL: https://github.com/ocornut/imgui
-Libs: -L${libdir} -limgui @IMGUI_LIBRARIES@
-Libs.private: -lm
-Cflags: -I${includedir}
+Requires.private: @pc_req_private@
+Libs: -L${libdir} -limgui
+Cflags: -I${includedir}/imgui @IMGUI_COMMON_FLAGS@

diff --git a/media-libs/imgui/imgui-1.87-r4.ebuild 
b/media-libs/imgui/imgui-1.87-r5.ebuild
similarity index 95%
rename from media-libs/imgui/imgui-1.87-r4.ebuild
rename to media-libs/imgui/imgui-1.87-r5.ebuild
index 0c83b5cdf..51478bf63 100644
--- a/media-libs/imgui/imgui-1.87-r4.ebuild
+++ b/media-libs/imgui/imgui-1.87-r5.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit cmake
+inherit cmake flag-o-matic
 
 DESCRIPTION="Bloat-free graphical user interface library for C++"
 HOMEPAGE="
@@ -55,6 +55,9 @@ REQUIRED_USE="
 "
 
 src_prepare() {
+       # https://github.com/ocornut/imgui/issues/5281
+       append-cxxflags -fpermissive
+
        pushd ../ || die
        rm -rf "${S}/imgui" || die
        mv "${P}" "${S}/imgui" || die

Reply via email to