nixpkgs/pkgs/by-name/im/imgui/0001-imgui-allow-installing-into-split-outputs.patch
2025-05-19 14:54:01 +00:00

199 lines
8.1 KiB
Diff

From c5fe9a321d83fc70cf30ef999c24377869cedbd8 Mon Sep 17 00:00:00 2001
From: SomeoneSerge <else@someonex.net>
Date: Thu, 27 Jun 2024 11:15:38 +0000
Subject: [PATCH] imgui: allow installing into split outputs
---
ports/imgui/CMakeLists.txt | 74 +++++++++++++++++++++++---------------
1 file changed, 45 insertions(+), 29 deletions(-)
diff --git a/ports/imgui/CMakeLists.txt b/ports/imgui/CMakeLists.txt
index 1502a5aff2..be05d29f4f 100644
--- a/ports/imgui/CMakeLists.txt
+++ b/ports/imgui/CMakeLists.txt
@@ -8,13 +8,15 @@ if(APPLE)
enable_language(OBJCXX)
endif()
+include(GNUInstallDirs) # Defines CMAKE_INSTALL_INCLUDEDIR if not set
+
add_library(${PROJECT_NAME} "")
add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
target_include_directories(
${PROJECT_NAME}
PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_SOURCE_DIR}/test-engine>"
- $<INSTALL_INTERFACE:include>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
)
target_sources(
@@ -154,18 +156,32 @@ list(REMOVE_DUPLICATES BINDINGS_SOURCES)
install(
TARGETS ${PROJECT_NAME}
EXPORT ${PROJECT_NAME}_target
- ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib
- RUNTIME DESTINATION bin
+ ARCHIVE
+ COMPONENT Development
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY
+ COMPONENT Runtime
+ NAMELINK_COMPONENT Development
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME
+ COMPONENT Runtime
+ DESTINATION ${CMAKE_INSTALL_BINDIR}
)
foreach(BINDING_TARGET ${BINDING_TARGETS})
install(
TARGETS ${BINDING_TARGET}
EXPORT ${PROJECT_NAME}_target
- ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib
- RUNTIME DESTINATION bin
+ ARCHIVE
+ COMPONENT Development
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY
+ COMPONENT Runtime
+ NAMELINK_COMPONENT Development
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME
+ COMPONENT Runtime
+ DESTINATION ${CMAKE_INSTALL_BINDIR}
)
endforeach()
@@ -178,47 +194,47 @@ if(NOT IMGUI_SKIP_HEADERS)
${CMAKE_CURRENT_SOURCE_DIR}/imstb_rectpack.h
${CMAKE_CURRENT_SOURCE_DIR}/imstb_truetype.h
${CMAKE_CURRENT_SOURCE_DIR}/misc/cpp/imgui_stdlib.h
- DESTINATION include
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
if(IMGUI_BUILD_ALLEGRO5_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_allegro5.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_allegro5.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if (IMGUI_BUILD_ANDROID_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_android.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_android.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_DX9_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx9.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx9.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_DX10_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx10.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx10.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_DX11_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx11.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx11.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_DX12_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx12.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx12.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_GLFW_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glfw.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glfw.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_GLUT_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glut.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glut.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_METAL_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_metal.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_metal.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_OPENGL2_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_opengl2.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_opengl2.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_OPENGL3_BINDING)
@@ -227,16 +243,16 @@ if(NOT IMGUI_SKIP_HEADERS)
${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_opengl3.h
${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_opengl3_loader.h
DESTINATION
- include
+ ${CMAKE_INSTALL_INCLUDEDIR}
)
endif()
if(IMGUI_BUILD_OSX_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_osx.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_osx.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_SDL3_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdl3.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdl3.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_SDLGPU3_BINDING)
@@ -245,24 +261,24 @@ if(NOT IMGUI_SKIP_HEADERS)
${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlgpu3.h
${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlgpu3_shaders.h
DESTINATION
- include
+ ${CMAKE_INSTALL_INCLUDEDIR}
)
endif()
if(IMGUI_BUILD_SDL3_RENDERER_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlrenderer3.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlrenderer3.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_VULKAN_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_vulkan.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_vulkan.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_WIN32_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_win32.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_win32.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_FREETYPE)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/misc/freetype/imgui_freetype.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/misc/freetype/imgui_freetype.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_TEST_ENGINE)
@@ -285,13 +301,13 @@ if(NOT IMGUI_SKIP_HEADERS)
endif()
include(CMakePackageConfigHelpers)
-configure_package_config_file(imgui-config.cmake.in imgui-config.cmake INSTALL_DESTINATION share/imgui)
+configure_package_config_file(imgui-config.cmake.in imgui-config.cmake INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/imgui)
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/imgui-config.cmake DESTINATION share/imgui)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/imgui-config.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/imgui)
install(
EXPORT ${PROJECT_NAME}_target
NAMESPACE ${PROJECT_NAME}::
FILE ${PROJECT_NAME}-targets.cmake
- DESTINATION share/${PROJECT_NAME}
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
)
--
2.47.2