1 |
commit: 6b24ca9ef444311a78105507d415509a8dd7d836 |
2 |
Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> |
3 |
AuthorDate: Wed May 4 00:59:16 2022 +0000 |
4 |
Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> |
5 |
CommitDate: Wed May 4 00:59:16 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=6b24ca9e |
7 |
|
8 |
media-libs/imgui: fix pkgconfig file |
9 |
|
10 |
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> |
11 |
|
12 |
media-libs/imgui/files/imgui-1.87-CMakeLists.txt | 11 ++++++++++- |
13 |
media-libs/imgui/files/imgui.pc.in | 6 +++--- |
14 |
.../imgui/{imgui-1.87-r4.ebuild => imgui-1.87-r5.ebuild} | 5 ++++- |
15 |
3 files changed, 17 insertions(+), 5 deletions(-) |
16 |
|
17 |
diff --git a/media-libs/imgui/files/imgui-1.87-CMakeLists.txt b/media-libs/imgui/files/imgui-1.87-CMakeLists.txt |
18 |
index 0823d1dc3..1735d8270 100644 |
19 |
--- a/media-libs/imgui/files/imgui-1.87-CMakeLists.txt |
20 |
+++ b/media-libs/imgui/files/imgui-1.87-CMakeLists.txt |
21 |
@@ -4,6 +4,8 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON) |
22 |
|
23 |
include(GNUInstallDirs) |
24 |
|
25 |
+set(pc_req_private) |
26 |
+ |
27 |
option(IMGUI_ALLEGRO OFF) |
28 |
option(IMGUI_EXAMPLES "Build ImGui examples" OFF) |
29 |
option(IMGUI_FREETYPE OFF) |
30 |
@@ -32,6 +34,7 @@ if(IMGUI_ALLEGRO) |
31 |
target_sources(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_allegro5.cpp") |
32 |
target_include_directories(imgui_objects PUBLIC ${ALLEGRO5_INCLUDE_DIRS}) |
33 |
list(APPEND IMGUI_LIBRARIES ${ALLEGRO5_LIBRARIES}) |
34 |
+ string(APPEND pc_req_private " allegro-5 allegro_main-5 allegro_primitives-5") |
35 |
endif() |
36 |
if(IMGUI_FREETYPE) |
37 |
find_package(Freetype REQUIRED) |
38 |
@@ -44,17 +47,20 @@ if(IMGUI_FREETYPE) |
39 |
target_include_directories(binary_to_compressed_c PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") |
40 |
target_link_libraries(binary_to_compressed_c PUBLIC imgui) |
41 |
install(TARGETS binary_to_compressed_c DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui") |
42 |
+ string(APPEND pc_req_private " freetype2") |
43 |
endif() |
44 |
if(IMGUI_GLFW) |
45 |
find_package(glfw3 REQUIRED) |
46 |
target_sources(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glfw.cpp") |
47 |
list(APPEND IMGUI_LIBRARIES glfw) |
48 |
+ string(APPEND pc_req_private " glfw3") |
49 |
endif() |
50 |
if(IMGUI_GLUT) |
51 |
find_package(FreeGLUT REQUIRED) |
52 |
target_sources(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glut.cpp") |
53 |
target_include_directories(imgui_objects PUBLIC ${FreeGLUT_INCLUDE_DIRS}) |
54 |
list(APPEND IMGUI_LIBRARIES FreeGLUT::freeglut) |
55 |
+ string(APPEND pc_req_private " glut") |
56 |
endif() |
57 |
if(IMGUI_OPENGL) |
58 |
find_package(OpenGL REQUIRED) |
59 |
@@ -65,6 +71,7 @@ if(IMGUI_OPENGL) |
60 |
) |
61 |
target_include_directories(imgui_objects PUBLIC ${OPENGL_INCLUDE_DIR}) |
62 |
list(APPEND IMGUI_LIBRARIES ${OPENGL_gl_LIBRARY}) |
63 |
+ string(APPEND pc_req_private " opengl") |
64 |
endif() |
65 |
if(IMGUI_SDL) |
66 |
find_package(SDL2 REQUIRED) |
67 |
@@ -75,6 +82,7 @@ if(IMGUI_SDL) |
68 |
) |
69 |
target_include_directories(imgui_objects PUBLIC "${SDL2_INCLUDE_DIRS}") |
70 |
list(APPEND IMGUI_LIBRARIES "${SDL2_LIBRARIES}") |
71 |
+ string(APPEND pc_req_private " sdl2") |
72 |
endif() |
73 |
if(IMGUI_VULKAN) |
74 |
find_package(Vulkan REQUIRED) |
75 |
@@ -82,6 +90,7 @@ if(IMGUI_VULKAN) |
76 |
set(IMGUI_COMMON_FLAGS "${IMGUI_COMMON_FLAGS} -DImTextureID=ImU64") |
77 |
target_include_directories(imgui_objects PUBLIC ${Vulkan_INCLUDE_DIRS}) |
78 |
list(APPEND IMGUI_LIBRARIES Vulkan::Vulkan) |
79 |
+ string(APPEND pc_req_private " vulkan") |
80 |
endif() |
81 |
|
82 |
if(IMGUI_EXAMPLES) |
83 |
@@ -142,7 +151,7 @@ if(IMGUI_EXAMPLES) |
84 |
endif() |
85 |
endif() |
86 |
|
87 |
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${IMGUI_COMMON_FLAGS} -fpermissive") |
88 |
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${IMGUI_COMMON_FLAGS}") |
89 |
target_sources (imgui PUBLIC $<TARGET_OBJECTS:imgui_objects>) |
90 |
|
91 |
add_library(imgui::imgui ALIAS imgui) |
92 |
|
93 |
diff --git a/media-libs/imgui/files/imgui.pc.in b/media-libs/imgui/files/imgui.pc.in |
94 |
index 4d033939f..e7776fc8c 100644 |
95 |
--- a/media-libs/imgui/files/imgui.pc.in |
96 |
+++ b/media-libs/imgui/files/imgui.pc.in |
97 |
@@ -6,6 +6,6 @@ Name: imgui |
98 |
Description: Bloat-free Immediate Mode Graphical User interface for C |
99 |
Version: @version@ |
100 |
URL: https://github.com/ocornut/imgui |
101 |
-Libs: -L${libdir} -limgui @IMGUI_LIBRARIES@ |
102 |
-Libs.private: -lm |
103 |
-Cflags: -I${includedir} |
104 |
+Requires.private: @pc_req_private@ |
105 |
+Libs: -L${libdir} -limgui |
106 |
+Cflags: -I${includedir}/imgui @IMGUI_COMMON_FLAGS@ |
107 |
|
108 |
diff --git a/media-libs/imgui/imgui-1.87-r4.ebuild b/media-libs/imgui/imgui-1.87-r5.ebuild |
109 |
similarity index 95% |
110 |
rename from media-libs/imgui/imgui-1.87-r4.ebuild |
111 |
rename to media-libs/imgui/imgui-1.87-r5.ebuild |
112 |
index 0c83b5cdf..51478bf63 100644 |
113 |
--- a/media-libs/imgui/imgui-1.87-r4.ebuild |
114 |
+++ b/media-libs/imgui/imgui-1.87-r5.ebuild |
115 |
@@ -3,7 +3,7 @@ |
116 |
|
117 |
EAPI=8 |
118 |
|
119 |
-inherit cmake |
120 |
+inherit cmake flag-o-matic |
121 |
|
122 |
DESCRIPTION="Bloat-free graphical user interface library for C++" |
123 |
HOMEPAGE=" |
124 |
@@ -55,6 +55,9 @@ REQUIRED_USE=" |
125 |
" |
126 |
|
127 |
src_prepare() { |
128 |
+ # https://github.com/ocornut/imgui/issues/5281 |
129 |
+ append-cxxflags -fpermissive |
130 |
+ |
131 |
pushd ../ || die |
132 |
rm -rf "${S}/imgui" || die |
133 |
mv "${P}" "${S}/imgui" || die |