mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-28 04:39:00 +08:00
[imgui] Add feature bindings and remove feature example (#10253)
* [imgui] Separate feature tools from feature example * [imgui] Separate feature tools from feature example Co-authored-by: JackBoosY <yuzaiyang@microsoft.com>
This commit is contained in:
parent
28fc76e733
commit
7db2ffa0b0
@ -9,4 +9,4 @@ Description: Build K4A doxygen documentation.
|
|||||||
|
|
||||||
Feature: tool
|
Feature: tool
|
||||||
Description: Build tools.
|
Description: Build tools.
|
||||||
Build-Depends: gl3w, imgui[example]
|
Build-Depends: gl3w, glew, imgui[bindings]
|
45
ports/azure-kinect-sensor-sdk/fix-dependency-imgui.patch
Normal file
45
ports/azure-kinect-sensor-sdk/fix-dependency-imgui.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
diff --git a/tools/k4aviewer/CMakeLists.txt b/tools/k4aviewer/CMakeLists.txt
|
||||||
|
index 6ab38d9..e0c5bad 100644
|
||||||
|
--- a/tools/k4aviewer/CMakeLists.txt
|
||||||
|
+++ b/tools/k4aviewer/CMakeLists.txt
|
||||||
|
@@ -35,6 +35,8 @@ set(SOURCE_FILES
|
||||||
|
k4awindowset.cpp
|
||||||
|
perfcounter.cpp
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/version.rc
|
||||||
|
+ ${IMGUI_EXTERNAL_PATH}/imgui_impl_glfw.cpp
|
||||||
|
+ ${IMGUI_EXTERNAL_PATH}/imgui_impl_opengl3.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
# Include ${CMAKE_CURRENT_BINARY_DIR}/version.rc in the target's sources
|
||||||
|
@@ -54,6 +56,8 @@ include_directories(
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
+find_package(GLEW REQUIRED)
|
||||||
|
+
|
||||||
|
set(EXTERNAL_LIBRARIES
|
||||||
|
k4a::k4a
|
||||||
|
k4a::k4arecord
|
||||||
|
@@ -65,6 +69,7 @@ set(EXTERNAL_LIBRARIES
|
||||||
|
glfw
|
||||||
|
${OPENGL_LIBRARIES}
|
||||||
|
unofficial::gl3w::gl3w
|
||||||
|
+ GLEW::GLEW
|
||||||
|
)
|
||||||
|
|
||||||
|
# On Windows, we need to call into setupapi to get USB container ID information
|
||||||
|
diff --git a/tools/k4aviewer/k4aimgui_all.h b/tools/k4aviewer/k4aimgui_all.h
|
||||||
|
index e40ccfb..756fb09 100644
|
||||||
|
--- a/tools/k4aviewer/k4aimgui_all.h
|
||||||
|
+++ b/tools/k4aviewer/k4aimgui_all.h
|
||||||
|
@@ -34,8 +34,8 @@
|
||||||
|
#include <GL/gl3w.h>
|
||||||
|
#include <GLFW/glfw3.h>
|
||||||
|
#include <imgui.h>
|
||||||
|
-#include <imgui_impl_glfw.h>
|
||||||
|
-#include <imgui_impl_opengl3.h>
|
||||||
|
+#include <bindings/imgui_impl_glfw.h>
|
||||||
|
+#include <bindings/imgui_impl_opengl3.h>
|
||||||
|
|
||||||
|
// For disabling buttons, which has not yet been promoted to the public API
|
||||||
|
//
|
@ -7,6 +7,7 @@ vcpkg_from_github(
|
|||||||
PATCHES
|
PATCHES
|
||||||
fix-builds.patch
|
fix-builds.patch
|
||||||
disable-c4275.patch
|
disable-c4275.patch
|
||||||
|
fix-dependency-imgui.patch
|
||||||
)
|
)
|
||||||
|
|
||||||
vcpkg_find_acquire_program(PYTHON3)
|
vcpkg_find_acquire_program(PYTHON3)
|
||||||
@ -26,6 +27,7 @@ vcpkg_configure_cmake(
|
|||||||
-DK4A_MTE_VERSION=ON
|
-DK4A_MTE_VERSION=ON
|
||||||
-DBUILD_EXAMPLES=OFF
|
-DBUILD_EXAMPLES=OFF
|
||||||
-DWITH_TEST=OFF
|
-DWITH_TEST=OFF
|
||||||
|
-DIMGUI_EXTERNAL_PATH=${CURRENT_INSTALLED_DIR}/include/bindings
|
||||||
)
|
)
|
||||||
|
|
||||||
vcpkg_install_cmake()
|
vcpkg_install_cmake()
|
||||||
@ -40,6 +42,18 @@ vcpkg_copy_pdbs()
|
|||||||
|
|
||||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||||
|
|
||||||
|
if ("tool" IN_LIST FEATURES)
|
||||||
|
if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release)
|
||||||
|
file(GLOB AZURE_TOOLS ${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX})
|
||||||
|
file(COPY ${AZURE_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
|
||||||
|
file(REMOVE ${AZURE_TOOLS})
|
||||||
|
endif()
|
||||||
|
if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug)
|
||||||
|
file(GLOB AZURE_TOOLS ${CURRENT_PACKAGES_DIR}/debug/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX})
|
||||||
|
file(REMOVE ${AZURE_TOOLS})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
||||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
|
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
|
||||||
endif()
|
endif()
|
||||||
|
@ -10,6 +10,7 @@ set(IMGUI_INCLUDES_PUBLIC
|
|||||||
|
|
||||||
set(IMGUI_INCLUDES_PRIVATE
|
set(IMGUI_INCLUDES_PRIVATE
|
||||||
imgui_internal.h
|
imgui_internal.h
|
||||||
|
imstb_textedit.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(IMGUI_SOURCES
|
set(IMGUI_SOURCES
|
||||||
@ -25,6 +26,8 @@ add_library(${PROJECT_NAME}
|
|||||||
${IMGUI_SOURCES}
|
${IMGUI_SOURCES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
file(GLOB IMGUI_BINDINGS ${CMAKE_CURRENT_SOURCE_DIR}/examples/imgui_impl_* )
|
||||||
|
|
||||||
target_include_directories(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
|
target_include_directories(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
|
||||||
|
|
||||||
install(TARGETS ${PROJECT_NAME}
|
install(TARGETS ${PROJECT_NAME}
|
||||||
@ -42,3 +45,14 @@ if(NOT IMGUI_SKIP_HEADERS)
|
|||||||
DESTINATION include
|
DESTINATION include
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(IMGUI_COPY_BINDINGS)
|
||||||
|
install(
|
||||||
|
FILES ${IMGUI_INCLUDES_PRIVATE}
|
||||||
|
DESTINATION include
|
||||||
|
)
|
||||||
|
install(
|
||||||
|
FILES ${IMGUI_BINDINGS}
|
||||||
|
DESTINATION include/bindings
|
||||||
|
)
|
||||||
|
endif()
|
@ -1,8 +1,8 @@
|
|||||||
Source: imgui
|
Source: imgui
|
||||||
Version: 1.74
|
Version: 1.74-1
|
||||||
Homepage: https://github.com/ocornut/imgui
|
Homepage: https://github.com/ocornut/imgui
|
||||||
Description: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies.
|
Description: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies.
|
||||||
|
|
||||||
Feature: example
|
Feature: bindings
|
||||||
Description: build with examples
|
Description: make available bindings header and source files for supported implementations
|
||||||
Build-Depends: glfw3, freeglut, opengl, sdl1
|
Build-Depends: glfw3, freeglut, opengl, sdl1, allegro5
|
@ -1,5 +1,3 @@
|
|||||||
include(vcpkg_common_functions)
|
|
||||||
|
|
||||||
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||||
|
|
||||||
vcpkg_from_github(
|
vcpkg_from_github(
|
||||||
@ -12,34 +10,23 @@ vcpkg_from_github(
|
|||||||
|
|
||||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
|
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
|
||||||
|
|
||||||
|
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||||
|
bindings IMGUI_COPY_BINDINGS # should only be copied once, at most
|
||||||
|
)
|
||||||
|
|
||||||
vcpkg_configure_cmake(
|
vcpkg_configure_cmake(
|
||||||
SOURCE_PATH ${SOURCE_PATH}
|
SOURCE_PATH ${SOURCE_PATH}
|
||||||
PREFER_NINJA
|
PREFER_NINJA
|
||||||
|
OPTIONS_RELEASE
|
||||||
|
${FEATURE_OPTIONS}
|
||||||
OPTIONS_DEBUG
|
OPTIONS_DEBUG
|
||||||
|
-DIMGUI_COPY_BINDINGS=OFF
|
||||||
-DIMGUI_SKIP_HEADERS=ON
|
-DIMGUI_SKIP_HEADERS=ON
|
||||||
)
|
)
|
||||||
|
|
||||||
vcpkg_install_cmake()
|
vcpkg_install_cmake()
|
||||||
|
|
||||||
if ("example" IN_LIST FEATURES)
|
|
||||||
if (NOT VCPKG_TARGET_IS_WINDOWS)
|
|
||||||
message(FATAL_ERROR "Feature example only support windows.")
|
|
||||||
endif()
|
|
||||||
vcpkg_build_msbuild(
|
|
||||||
USE_VCPKG_INTEGRATION
|
|
||||||
PROJECT_PATH ${SOURCE_PATH}/examples/imgui_examples.sln
|
|
||||||
)
|
|
||||||
|
|
||||||
# Install headers
|
|
||||||
file(GLOB IMGUI_EXAMPLE_INCLUDES ${SOURCE_PATH}/examples/*.h)
|
|
||||||
file(INSTALL ${IMGUI_EXAMPLE_INCLUDES} DESTINATION ${CURRENT_PACKAGES_DIR}/include)
|
|
||||||
|
|
||||||
# Install tools
|
|
||||||
file(GLOB_RECURSE IMGUI_EXAMPLE_BINARIES ${SOURCE_PATH}/examples/*${VCPKG_TARGET_EXECUTABLE_SUFFIX})
|
|
||||||
file(INSTALL ${IMGUI_EXAMPLE_BINARIES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
vcpkg_copy_pdbs()
|
vcpkg_copy_pdbs()
|
||||||
vcpkg_fixup_cmake_targets()
|
vcpkg_fixup_cmake_targets()
|
||||||
|
|
||||||
configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/imgui/copyright COPYONLY)
|
file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Source: libigl
|
Source: libigl
|
||||||
Version: 2.1.0-1
|
Version: 2.1.0-2
|
||||||
Homepage: https://github.com/libigl/libigl
|
Homepage: https://github.com/libigl/libigl
|
||||||
Description: libigl is a simple C++ geometry processing library. We have a wide functionality including construction of sparse discrete differential geometry operators and finite-elements matrices such as the cotangent Laplacian and diagonalized mass matrix, simple facet and edge-based topology data structures, mesh-viewing utilities for OpenGL and GLSL, and many core functions for matrix manipulation which make Eigen feel a lot more like MATLAB.
|
Description: libigl is a simple C++ geometry processing library. We have a wide functionality including construction of sparse discrete differential geometry operators and finite-elements matrices such as the cotangent Laplacian and diagonalized mass matrix, simple facet and edge-based topology data structures, mesh-viewing utilities for OpenGL and GLSL, and many core functions for matrix manipulation which make Eigen feel a lot more like MATLAB.
|
||||||
Build-Depends: eigen3
|
Build-Depends: eigen3
|
||||||
@ -18,7 +18,7 @@ Build-Depends: glfw3
|
|||||||
|
|
||||||
Feature: imgui
|
Feature: imgui
|
||||||
Description: Build with imgui
|
Description: Build with imgui
|
||||||
Build-Depends: imgui[example]
|
Build-Depends: imgui[bindings]
|
||||||
|
|
||||||
Feature: png
|
Feature: png
|
||||||
Description: Build with libpng
|
Description: Build with libpng
|
||||||
|
Loading…
Reference in New Issue
Block a user