[Imgui] Update docking-experimental and freetype features to 1.81 (#16268)

* [imgui] Update docking-experimental and freetype features to 1.81

* [imgui] Update version files

* [imgui] Move string replacement to post-build

* Update ports/imgui/CMakeLists.txt

* [imgui] Declare IMGUI_ENABLE_FREETYPE macro only if the freetype feature is enabled and move wchar32 string replacement to post-build

* [imgui] Update version files

Co-authored-by: Rémy Tassoux <rt2@rasterizedworld.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
This commit is contained in:
Rémy Tassoux 2021-03-01 17:40:09 +01:00 committed by GitHub
parent 3426db05b9
commit b5bc9d5474
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 125 additions and 91 deletions

View File

@ -23,13 +23,6 @@ target_sources(
${CMAKE_CURRENT_SOURCE_DIR}/misc/cpp/imgui_stdlib.cpp
)
if(IMGUI_USE_WCHAR32)
FILE(READ ${CMAKE_CURRENT_SOURCE_DIR}/imconfig.h IMCONFIG)
STRING(REGEX REPLACE "//#define IMGUI_USE_WCHAR32" "#define IMGUI_USE_WCHAR32" IMCONFIG "${IMCONFIG}")
FILE(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/imconfig.h "${IMCONFIG}")
endif()
if(IMGUI_BUILD_ALLEGRO5_BINDING)
find_path(ALLEGRO5_INCLUDE_DIRS allegro5/allegro.h)
target_include_directories(${PROJECT_NAME} PRIVATE ${ALLEGRO5_INCLUDE_DIRS})
@ -120,6 +113,11 @@ if(IMGUI_FREETYPE)
find_package(freetype CONFIG REQUIRED)
target_link_libraries(${PROJECT_NAME} PUBLIC freetype)
target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/misc/freetype/imgui_freetype.cpp)
target_compile_definitions(${PROJECT_NAME} PUBLIC IMGUI_ENABLE_FREETYPE)
endif()
if(IMGUI_USE_WCHAR32)
target_compile_definitions(${PROJECT_NAME} PUBLIC IMGUI_USE_WCHAR32)
endif()
list(REMOVE_DUPLICATES BINDINGS_SOURCES)

View File

@ -1,81 +0,0 @@
Source: imgui
Version: 1.81
Port-Version: 1
Homepage: https://github.com/ocornut/imgui
Description: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies.
Feature: allegro5-binding
Description: Make available Allegro5 binding
Build-Depends: allegro5
Feature: dx9-binding
Description: Make available DirectX9 binding
Feature: dx10-binding
Description: Make available DirectX10 binding
Feature: dx11-binding
Description: Make available DirectX11 binding
Feature: dx12-binding
Description: Make available DirectX12 binding
Feature: glfw-binding
Description: Make available GLFW binding
Build-Depends: glfw3
Feature: glut-binding
Description: Make available Glut binding
Build-Depends: freeglut
Feature: marmalade-binding
Description: Make available Marmalade binding
Feature: metal-binding
Description: Make available Metal binding
Feature: opengl2-binding
Description: Make available OpenGL (legacy) binding
Feature: opengl3-glew-binding
Description: Make available OpenGL3/ES/ES2 (modern) binding with GLEW
Build-Depends: glew
Feature: opengl3-glad-binding
Description: Make available OpenGL3/ES/ES2 (modern) binding with glad
Build-Depends: glad
Feature: opengl3-gl3w-binding
Description: Make available OpenGL3/ES/ES2 (modern) binding with gl3w
Build-Depends: gl3w
Feature: opengl3-glbinding-binding
Description: Make available OpenGL3/ES/ES2 (modern) binding glbinding
Build-Depends: glbinding
Feature: osx-binding
Description: Make available OSX binding
Feature: sdl2-binding
Description: Make available SDL2 binding
Build-Depends: sdl2
Feature: vulkan-binding
Description: Make available Vulkan binding
Build-Depends: vulkan
Feature: win32-binding
Description: Make available Win32 binding
Feature: freetype
Description: Build font atlases using FreeType instead of stb_truetype
Build-Depends: freetype
Feature: libigl-imgui
Description: Install the libigl-imgui headers
Feature: wchar32
Description: Use WCHAR32 instead of WCHAR16
Feature: docking-experimental
Description: Build with docking support

View File

@ -4,8 +4,8 @@ if ("docking-experimental" IN_LIST FEATURES)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ocornut/imgui
REF 682249396f02b8c21e5ff333ab4a1969c89387ad
SHA512 95f17c14e0a8f10dfc51fd1b30894f9905433fac8f9a93b6c545a542df5eb20be68f40996080a85cba934107ce19fff91a1df1edad1a1b5a0030e8f626e1985d
REF 239d09804d17997e147f4bcfb451ead04c1d67ff
SHA512 7e93dd8c1a465b8405d32f08aa2be0c1a2bea7762384ba6a16848e10b10f5684f8969b672cec6e994a90fc6a6189519730dd7d15b82ae39b5221278eae23ba61
HEAD_REF docking
)
else()
@ -72,6 +72,13 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
if ("freetype" IN_LIST FEATURES)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/imconfig.h" "//#define IMGUI_ENABLE_FREETYPE" "#define IMGUI_ENABLE_FREETYPE")
endif()
if ("wchar32" IN_LIST FEATURES)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/imconfig.h" "//#define IMGUI_USE_WCHAR32" "#define IMGUI_USE_WCHAR32")
endif()
vcpkg_copy_pdbs()
vcpkg_fixup_cmake_targets()

105
ports/imgui/vcpkg.json Normal file
View File

@ -0,0 +1,105 @@
{
"name": "imgui",
"version": "1.81",
"port-version": 2,
"description": "Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies.",
"homepage": "https://github.com/ocornut/imgui",
"features": {
"allegro5-binding": {
"description": "Make available Allegro5 binding",
"dependencies": [
"allegro5"
]
},
"docking-experimental": {
"description": "Build with docking support"
},
"dx10-binding": {
"description": "Make available DirectX10 binding"
},
"dx11-binding": {
"description": "Make available DirectX11 binding"
},
"dx12-binding": {
"description": "Make available DirectX12 binding"
},
"dx9-binding": {
"description": "Make available DirectX9 binding"
},
"freetype": {
"description": "Build font atlases using FreeType instead of stb_truetype",
"dependencies": [
"freetype"
]
},
"glfw-binding": {
"description": "Make available GLFW binding",
"dependencies": [
"glfw3"
]
},
"glut-binding": {
"description": "Make available Glut binding",
"dependencies": [
"freeglut"
]
},
"libigl-imgui": {
"description": "Install the libigl-imgui headers"
},
"marmalade-binding": {
"description": "Make available Marmalade binding"
},
"metal-binding": {
"description": "Make available Metal binding"
},
"opengl2-binding": {
"description": "Make available OpenGL (legacy) binding"
},
"opengl3-gl3w-binding": {
"description": "Make available OpenGL3/ES/ES2 (modern) binding with gl3w",
"dependencies": [
"gl3w"
]
},
"opengl3-glad-binding": {
"description": "Make available OpenGL3/ES/ES2 (modern) binding with glad",
"dependencies": [
"glad"
]
},
"opengl3-glbinding-binding": {
"description": "Make available OpenGL3/ES/ES2 (modern) binding glbinding",
"dependencies": [
"glbinding"
]
},
"opengl3-glew-binding": {
"description": "Make available OpenGL3/ES/ES2 (modern) binding with GLEW",
"dependencies": [
"glew"
]
},
"osx-binding": {
"description": "Make available OSX binding"
},
"sdl2-binding": {
"description": "Make available SDL2 binding",
"dependencies": [
"sdl2"
]
},
"vulkan-binding": {
"description": "Make available Vulkan binding",
"dependencies": [
"vulkan"
]
},
"wchar32": {
"description": "Use WCHAR32 instead of WCHAR16"
},
"win32-binding": {
"description": "Make available Win32 binding"
}
}
}

View File

@ -2542,7 +2542,7 @@
},
"imgui": {
"baseline": "1.81",
"port-version": 1
"port-version": 2
},
"imgui-sfml": {
"baseline": "2.1-2",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "82e2ab3945def5ecc234f9586425f4dc8cb6d15e",
"version": "1.81",
"port-version": 2
},
{
"git-tree": "6f5ea94c84f8e4d7883a613421ef285960ce7482",
"version-string": "1.81",