Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions ports/imgui-sfml/0001-fix_find_package.patch
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 53500fd..cb98701 100644
index 53500fd..daad1fe 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -35,34 +35,14 @@ if (IMGUI_SFML_FIND_SFML)
Expand Down Expand Up @@ -39,12 +39,11 @@ index 53500fd..cb98701 100644

# CMake 3.11 and later prefer to choose GLVND, but we choose legacy OpenGL just because it's safer
# (unless the OpenGL_GL_PREFERENCE was explicitly set)
@@ -82,7 +62,7 @@ add_library(ImGui-SFML
@@ -82,7 +62,6 @@ add_library(ImGui-SFML
add_library(ImGui-SFML::ImGui-SFML ALIAS ImGui-SFML)

target_link_libraries(ImGui-SFML
- PUBLIC
+ imgui::imgui
sfml-graphics
sfml-system
sfml-window
2 changes: 1 addition & 1 deletion ports/imgui-sfml/CONTROL
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Source: imgui-sfml
Version: 2.1
Version: 2.1-1
Homepage: https://github.com/eliasdaler/imgui-sfml
Description: ImGui binding for use with SFML
Build-Depends: sfml, imgui
8 changes: 5 additions & 3 deletions ports/imgui-sfml/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
include(vcpkg_common_functions)

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO eliasdaler/imgui-sfml
Expand All @@ -12,6 +10,8 @@ vcpkg_from_github(
0003-fix_osx.patch
)

file(REMOVE ${SOURCE_PATH}/cmake/FindImGui.cmake)

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
Expand All @@ -20,5 +20,7 @@ vcpkg_install_cmake()
vcpkg_copy_pdbs()

vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/ImGui-SFML)

file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/imgui-sfml/copyright COPYONLY)

file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
58 changes: 36 additions & 22 deletions ports/imgui/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
cmake_minimum_required(VERSION 3.8)
project(imgui CXX)

set(CMAKE_DEBUG_POSTFIX d)

set(IMGUI_INCLUDES_PUBLIC
imgui.h
imconfig.h
)

set(IMGUI_INCLUDES_PRIVATE
imgui_internal.h
imstb_rectpack.h
imstb_textedit.h
imstb_truetype.h
)

set(IMGUI_SOURCES
Expand All @@ -19,26 +17,42 @@ set(IMGUI_SOURCES
imgui_widgets.cpp
)

add_library(${PROJECT_NAME}
${IMGUI_INCLUDES_PUBLIC}
${IMGUI_INCLUDES_PRIVATE}
${IMGUI_SOURCES}
set(IMGUI_CPP_PUBLIC
misc/cpp/imgui_stdlib.h
)
set(IMGUI_CPP_SOURCES
misc/cpp/imgui_stdlib.cpp
)

target_include_directories(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
set(IMGUI_FONTS_RESOURCES
misc/fonts/Cousine-Regular.ttf
misc/fonts/DroidSans.ttf
misc/fonts/Karla-Regular.ttf
misc/fonts/ProggyClean.ttf
misc/fonts/ProggyTiny.ttf
misc/fonts/Roboto-Medium.ttf
)
set(IMGUI_FONTS_SOURCES
misc/fonts/binary_to_compressed_c.cpp
)

set(IMGUI_FT_PUBLIC
misc/freetype/imgui_freetype.h
)
set(IMGUI_FT_SOURCES
misc/freetype/imgui_freetype.cpp
)

install(TARGETS ${PROJECT_NAME}
EXPORT IMGUIExport
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
set(IMGUI_NATVIS_RESOURCES
misc/natvis/imgui.natvis
)

install(EXPORT IMGUIExport FILE ${PROJECT_NAME}Config.cmake NAMESPACE ${PROJECT_NAME}:: DESTINATION share/${PROJECT_NAME})
file(GLOB IMGUI_INCLUDES_EXAMPLES examples/*.h)
file(GLOB IMGUI_SOURCES_EXAMPLES examples/*.cpp)

if(NOT IMGUI_SKIP_HEADERS)
install(
FILES ${IMGUI_INCLUDES_PUBLIC}
DESTINATION include
)
endif()
install(FILES ${IMGUI_INCLUDES_PUBLIC} ${IMGUI_SOURCES} DESTINATION include)
install(FILES ${IMGUI_CPP_PUBLIC} ${IMGUI_CPP_SOURCES} DESTINATION include/misc/cpp)
install(FILES ${IMGUI_FONTS_SOURCES} ${IMGUI_FONTS_RESOURCES} DESTINATION include/misc/fonts)
install(FILES ${IMGUI_FT_PUBLIC} ${IMGUI_FT_SOURCES} DESTINATION include/misc/freetype)
install(FILES ${IMGUI_NATVIS_RESOURCES} DESTINATION include/misc/natvis)
install(FILES ${IMGUI_INCLUDES_EXAMPLES} ${IMGUI_SOURCES_EXAMPLES} DESTINATION include/examples)
2 changes: 1 addition & 1 deletion ports/imgui/CONTROL
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Source: imgui
Version: 1.73-1
Version: 1.74
Homepage: https://github.com/ocornut/imgui
Description: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies.

Expand Down
54 changes: 54 additions & 0 deletions ports/imgui/Findimgui.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Findimgui.cmake
#
# Finds ImGui library
# Written by imgui-sfml
#
# This will define the following variables
# IMGUI_FOUND
# IMGUI_INCLUDE_DIRS
# IMGUI_SOURCES
# IMGUI_DEMO_SOURCES
# IMGUI_VERSION

list(APPEND IMGUI_SEARCH_PATH
${_IMPORT_PREFIX}
)

find_path(IMGUI_INCLUDE_DIR
NAMES imgui.h
PATHS ${IMGUI_SEARCH_PATH}
)

if(NOT IMGUI_INCLUDE_DIR)
message(FATAL_ERROR "IMGUI imgui.cpp not found. Set IMGUI_DIR to imgui's top-level path (containing \"imgui.cpp\" and \"imgui.h\" files).\n")
endif()

set(IMGUI_INCLUDE_DIRS ${IMGUI_INCLUDE_DIR})

set(IMGUI_SOURCES
${IMGUI_INCLUDE_DIR}/imgui.cpp
${IMGUI_INCLUDE_DIR}/imgui_draw.cpp
${IMGUI_INCLUDE_DIR}/imgui_widgets.cpp
${IMGUI_INCLUDE_DIR}/misc/cpp/imgui_stdlib.cpp
)

set(IMGUI_DEMO_SOURCES
${IMGUI_INCLUDE_DIR}/imgui_demo.cpp
)

# Extract version from header
file(
STRINGS
${IMGUI_INCLUDE_DIR}/imgui.h
IMGUI_VERSION
REGEX "#define IMGUI_VERSION "
)

if(NOT IMGUI_VERSION)
message(SEND_ERROR "Can't find version number in ${IMGUI_INCLUDE_DIR}/imgui.h.")
endif()
# Transform '#define IMGUI_VERSION "X.Y"' into 'X.Y'
string(REGEX REPLACE ".*\"(.*)\".*" "\\1" IMGUI_VERSION "${IMGUI_VERSION}")

set(IMGUI_FOUND TRUE)
message(STATUS "Found ImGui v${IMGUI_VERSION} in ${IMGUI_INCLUDE_DIR}")
37 changes: 21 additions & 16 deletions ports/imgui/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,45 +1,50 @@
include(vcpkg_common_functions)

vcpkg_check_linkage(ONLY_STATIC_LIBRARY)

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ocornut/imgui
REF v1.73
SHA512 1d67b7cc3f06ea77a2484e62034104386f42106fefe9b6eb62ee8a31fe949c9cda0cc095fbead9269e9da2a5d6199604d34c095eefd630655725265ac0fc4d92
REF bdce8336364595d1a446957a6164c97363349a53 #v1.74
SHA512 148c949a4d1a07832e97dbf4b3333b728f7207756a95db633daad83636790abe0a335797b2c5a27938453727de43f6abb9f5a5b41909f223ee735ddd1924eb3f
HEAD_REF master
)

file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
file(COPY ${CURRENT_PORT_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS_DEBUG
-DIMGUI_SKIP_HEADERS=ON
)

vcpkg_install_cmake()
vcpkg_copy_pdbs()

if ("example" IN_LIST FEATURES)
vcpkg_check_linkage(ONLY_STATIC_CRT)

if (NOT VCPKG_TARGET_IS_WINDOWS)
message(FATAL_ERROR "Feature example only support windows.")
endif()

if (VCPKG_TARGET_ARCHITECTURE MATCHES "x86")
set(BUILD_ARCH "Win32")
elseif (VCPKG_TARGET_ARCHITECTURE MATCHES "x64")
set(BUILD_ARCH "x64")
else()
message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}")
endif()

vcpkg_build_msbuild(
USE_VCPKG_INTEGRATION
PROJECT_PATH ${SOURCE_PATH}/examples/imgui_examples.sln
PLATFORM ${BUILD_ARCH}
)

# 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_fixup_cmake_targets()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)

file(INSTALL ${CURRENT_PORT_DIR}/Findimgui.cmake ${CURRENT_PORT_DIR}/vcpkg-cmake-wrapper.cmake
DESTINATION ${CURRENT_PACKAGES_DIR}/share/imgui)

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)
10 changes: 10 additions & 0 deletions ports/imgui/vcpkg-cmake-wrapper.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
list(REMOVE_ITEM ARGS "CONFIG")

set(IMGUI_PREV_MODULE_PATH ${CMAKE_MODULE_PATH})
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})

if(NOT LIBPROXY_LIBRARIES)
_find_package(${ARGS})
endif()

set(CMAKE_MODULE_PATH ${IMGUI_PREV_MODULE_PATH})
2 changes: 1 addition & 1 deletion ports/milerius-sfml-imgui/CONTROL
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: milerius-sfml-imgui
Version: 1.1-2
Version: 1.1-3
Description: imgui dll for sfml usage
Build-Depends: sfml, imgui
26 changes: 22 additions & 4 deletions ports/milerius-sfml-imgui/FixFindPackageIssue.patch
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 27b8bd8..33fe623 100644
index 27b8bd8..e701c71 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,7 +2,7 @@ if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
Expand All @@ -11,7 +11,25 @@ index 27b8bd8..33fe623 100644
cmake_minimum_required(VERSION 3.9)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

@@ -26,7 +26,7 @@ include(CMakePackageConfigHelpers)
@@ -12,13 +12,15 @@ find_package(imgui CONFIG REQUIRED)
find_package(OpenGL REQUIRED)

##! Library
-add_library(${PROJECT_NAME} SHARED sfml-imgui/imgui-SFML.cpp)
-target_link_libraries(${PROJECT_NAME} PUBLIC imgui::imgui sfml-graphics OpenGL::GL)
+add_library(${PROJECT_NAME} SHARED sfml-imgui/imgui-SFML.cpp ${IMGUI_SOURCES})
+target_link_libraries(${PROJECT_NAME} PUBLIC sfml-graphics OpenGL::GL)

target_include_directories(${PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/sfml-imgui>
$<INSTALL_INTERFACE:include/sfml-imgui> # <prefix>/include/mylib
)
+
+target_include_directories(${PROJECT_NAME} PUBLIC ${IMGUI_INCLUDE_DIRS})

include(GNUInstallDirs)

@@ -26,7 +28,7 @@ include(CMakePackageConfigHelpers)

install(TARGETS
${PROJECT_NAME}
Expand All @@ -20,7 +38,7 @@ index 27b8bd8..33fe623 100644
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
@@ -39,7 +39,7 @@ install(EXPORT ${PROJECT_NAME}-targets
@@ -39,7 +41,7 @@ install(EXPORT ${PROJECT_NAME}-targets
)

configure_package_config_file(
Expand All @@ -29,7 +47,7 @@ index 27b8bd8..33fe623 100644
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
INSTALL_DESTINATION lib/cmake/${PROJECT_NAME}
)
@@ -51,6 +51,6 @@ install(FILES
@@ -51,6 +53,6 @@ install(FILES
install(DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/sfml-imgui
DESTINATION
Expand Down
5 changes: 1 addition & 4 deletions ports/milerius-sfml-imgui/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
include(vcpkg_common_functions)

vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)

vcpkg_from_github(
Expand All @@ -21,5 +19,4 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/milerius-sfml-imgui)
vcpkg_copy_pdbs()

file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/milerius-sfml-imgui)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/milerius-sfml-imgui/LICENSE ${CURRENT_PACKAGES_DIR}/share/milerius-sfml-imgui/copyright)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
2 changes: 0 additions & 2 deletions scripts/ci.baseline.txt
Original file line number Diff line number Diff line change
Expand Up @@ -598,8 +598,6 @@ icu:x64-uwp=fail
ignition-msgs1:arm64-windows=fail
ignition-msgs1:arm-uwp=fail
ignition-msgs1:x64-uwp=fail
imgui:arm-uwp=fail
imgui:x64-uwp=fail
imgui-sfml:x64-linux=ignore
intel-ipsec:arm64-windows=fail
intel-ipsec:arm-uwp=fail
Expand Down