aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/vsgimgui
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/vsgimgui')
-rw-r--r--vcpkg/ports/vsgimgui/devendor.patch107
-rw-r--r--vcpkg/ports/vsgimgui/portfile.cmake25
-rw-r--r--vcpkg/ports/vsgimgui/remove-manual-font-creation.patch44
-rw-r--r--vcpkg/ports/vsgimgui/vcpkg.json25
4 files changed, 201 insertions, 0 deletions
diff --git a/vcpkg/ports/vsgimgui/devendor.patch b/vcpkg/ports/vsgimgui/devendor.patch
new file mode 100644
index 0000000..1f2b2dc
--- /dev/null
+++ b/vcpkg/ports/vsgimgui/devendor.patch
@@ -0,0 +1,107 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a1c83a3..bba4c19 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -22,11 +22,14 @@ if (VULKAN_SDK)
+ set(ENV{VULKAN_SDK} ${VULKAN_SDK})
+ endif()
+
+-find_package(vsg 1.1.10)
++find_package(vsg CONFIG REQUIRED)
++find_package(imgui CONFIG REQUIRED)
++find_package(implot CONFIG REQUIRED)
+
+ vsg_setup_dir_vars()
+ vsg_setup_build_vars()
+
++if(0)
+ if ( (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/imgui/imgui.h) OR
+ (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/implot/implot.h) )
+ find_package(Git QUIET)
+@@ -50,6 +53,7 @@ vsg_copy_imgui_headers(
+ ${VSGIMGUI_SOURCE_DIR}/src/implot/implot.h
+ ${VSGIMGUI_SOURCE_DIR}/src/implot/implot_internal.h
+ )
++endif(0)
+
+ vsg_add_target_clang_format(
+ FILES
+diff --git a/include/vsgImGui/RenderImGui.h b/include/vsgImGui/RenderImGui.h
+index 9eddd36..656d0b1 100644
+--- a/include/vsgImGui/RenderImGui.h
++++ b/include/vsgImGui/RenderImGui.h
+@@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #include <vsg/vk/DescriptorPool.h>
+
+ #include <vsgImGui/Export.h>
+-#include <vsgImGui/imgui.h>
++#include <imgui.h>
+
+ namespace vsgImGui
+ {
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 41d749d..b895225 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -34,6 +34,9 @@ set(SOURCES
+ implot/implot_items.cpp
+ )
+
++list(FILTER HEADERS EXCLUDE REGEX "^imgui/|^implot/|/imgui.h\$")
++list(FILTER SOURCES EXCLUDE REGEX "^imgui/|^implot/")
++
+ OPTION(SHOW_DEMO_WINDOW "Toggle the build of the ImGui::ShowDemoWindow(bool*) and ImPlot::ShadowDemoWindow(bool*)" ON)
+
+ if (SHOW_DEMO_WINDOW)
+@@ -73,6 +76,8 @@ target_include_directories(vsgImGui PUBLIC
+ target_link_libraries(vsgImGui
+ PUBLIC
+ vsg::vsg
++ imgui::imgui
++ implot::implot
+ PRIVATE
+ ${EXTRA_LIBRARIES}
+ )
+diff --git a/src/vsgImGui/RenderImGui.cpp b/src/vsgImGui/RenderImGui.cpp
+index 31780eb..fd70a6f 100644
+--- a/src/vsgImGui/RenderImGui.cpp
++++ b/src/vsgImGui/RenderImGui.cpp
+@@ -22,9 +22,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ </editor-fold> */
+
+ #include <vsgImGui/RenderImGui.h>
+-#include <vsgImGui/implot.h>
++#include <implot.h>
+
+-#include "../imgui/backends/imgui_impl_vulkan.h"
++#include <imgui_impl_vulkan.h>
+
+ #include <vsg/io/Logger.h>
+ #include <vsg/maths/color.h>
+diff --git a/src/vsgImGui/SendEventsToImGui.cpp b/src/vsgImGui/SendEventsToImGui.cpp
+index 11de226..ef784fc 100644
+--- a/src/vsgImGui/SendEventsToImGui.cpp
++++ b/src/vsgImGui/SendEventsToImGui.cpp
+@@ -22,7 +22,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ </editor-fold> */
+
+ #include <vsgImGui/SendEventsToImGui.h>
+-#include <vsgImGui/imgui.h>
++#include <imgui.h>
+
+ #include <vsg/ui/KeyEvent.h>
+ #include <vsg/ui/PointerEvent.h>
+diff --git a/src/vsgImGuiConfig.cmake.in b/src/vsgImGuiConfig.cmake.in
+index e2c14f2..e0dcc98 100644
+--- a/src/vsgImGuiConfig.cmake.in
++++ b/src/vsgImGuiConfig.cmake.in
+@@ -1,6 +1,8 @@
+ include(CMakeFindDependencyMacro)
+
+ find_dependency(Vulkan)
+-find_dependency(vsg)
++find_dependency(vsg CONFIG)
++find_dependency(imgui CONFIG)
++find_dependency(implot CONFIG)
+
+ include("${CMAKE_CURRENT_LIST_DIR}/vsgImGuiTargets.cmake")
diff --git a/vcpkg/ports/vsgimgui/portfile.cmake b/vcpkg/ports/vsgimgui/portfile.cmake
new file mode 100644
index 0000000..986b780
--- /dev/null
+++ b/vcpkg/ports/vsgimgui/portfile.cmake
@@ -0,0 +1,25 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO vsg-dev/vsgImGui
+ REF "v${VERSION}"
+ SHA512 1d3e673a718769bb6ea6de723a398712220e9a91fa4ca21bce449613e18cd9ccd0030669db8bbf86c468fa26f7a872acfef194989ccc453e7d60959f697fd000
+ HEAD_REF master
+ PATCHES
+ devendor.patch
+ remove-manual-font-creation.patch
+)
+file(REMOVE "${SOURCE_PATH}/include/vsgImGui/imgui.h")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DSHOW_DEMO_WINDOW=OFF
+)
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/vsgImGui")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md")
diff --git a/vcpkg/ports/vsgimgui/remove-manual-font-creation.patch b/vcpkg/ports/vsgimgui/remove-manual-font-creation.patch
new file mode 100644
index 0000000..44359c7
--- /dev/null
+++ b/vcpkg/ports/vsgimgui/remove-manual-font-creation.patch
@@ -0,0 +1,44 @@
+diff --git a/include/vsgImGui/RenderImGui.h b/include/vsgImGui/RenderImGui.h
+index 656d0b1..73c661d 100644
+--- a/include/vsgImGui/RenderImGui.h
++++ b/include/vsgImGui/RenderImGui.h
+@@ -86,7 +86,6 @@ namespace vsgImGui
+ vsg::ref_ptr<vsg::RenderPass> renderPass,
+ uint32_t minImageCount, uint32_t imageCount,
+ VkExtent2D imageSize, bool useClearAttachments);
+- void _uploadFonts();
+ };
+
+ // temporary workaround for Dear ImGui's nonexistent sRGB awareness
+diff --git a/src/vsgImGui/RenderImGui.cpp b/src/vsgImGui/RenderImGui.cpp
+index fd70a6f..c8b6e7b 100644
+--- a/src/vsgImGui/RenderImGui.cpp
++++ b/src/vsgImGui/RenderImGui.cpp
+@@ -71,7 +71,6 @@ namespace vsgImGui
+ RenderImGui::RenderImGui(const vsg::ref_ptr<vsg::Window>& window, bool useClearAttachments)
+ {
+ _init(window, useClearAttachments);
+- _uploadFonts();
+ }
+
+ RenderImGui::RenderImGui(vsg::ref_ptr<vsg::Device> device, uint32_t queueFamily,
+@@ -80,7 +79,6 @@ RenderImGui::RenderImGui(vsg::ref_ptr<vsg::Device> device, uint32_t queueFamily,
+ VkExtent2D imageSize, bool useClearAttachments)
+ {
+ _init(device, queueFamily, renderPass, minImageCount, imageCount, imageSize, useClearAttachments);
+- _uploadFonts();
+ }
+
+ RenderImGui::~RenderImGui()
+@@ -217,11 +215,6 @@ void RenderImGui::_init(
+ }
+ }
+
+-void RenderImGui::_uploadFonts()
+-{
+- ImGui_ImplVulkan_CreateFontsTexture();
+-}
+-
+ void RenderImGui::accept(vsg::RecordTraversal& rt) const
+ {
+ auto& commandBuffer = *(rt.getState()->_commandBuffer);
diff --git a/vcpkg/ports/vsgimgui/vcpkg.json b/vcpkg/ports/vsgimgui/vcpkg.json
new file mode 100644
index 0000000..00d79f9
--- /dev/null
+++ b/vcpkg/ports/vsgimgui/vcpkg.json
@@ -0,0 +1,25 @@
+{
+ "name": "vsgimgui",
+ "version": "0.7.0",
+ "description": "Library that integrates VulkanSceneGraph with Dear ImGui & ImPlot.",
+ "homepage": "https://github.com/vsg-dev/vsgImGui",
+ "license": "MIT",
+ "dependencies": [
+ {
+ "name": "imgui",
+ "features": [
+ "vulkan-binding"
+ ]
+ },
+ "implot",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ },
+ "vsg"
+ ]
+}