aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/mygui
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/mygui')
-rw-r--r--vcpkg/ports/mygui/Install-tools.patch16
-rw-r--r--vcpkg/ports/mygui/fix-generation.patch30
-rw-r--r--vcpkg/ports/mygui/fix-tools-lnk2005.patch13
-rw-r--r--vcpkg/ports/mygui/opengl.patch26
-rw-r--r--vcpkg/ports/mygui/platform-lib-static.patch119
-rw-r--r--vcpkg/ports/mygui/portfile.cmake72
-rw-r--r--vcpkg/ports/mygui/sdl2-static.patch35
-rw-r--r--vcpkg/ports/mygui/vcpkg.json40
8 files changed, 351 insertions, 0 deletions
diff --git a/vcpkg/ports/mygui/Install-tools.patch b/vcpkg/ports/mygui/Install-tools.patch
new file mode 100644
index 0000000..010344f
--- /dev/null
+++ b/vcpkg/ports/mygui/Install-tools.patch
@@ -0,0 +1,16 @@
+diff --git a/CMake/Utils/MyGUIConfigTargets.cmake b/CMake/Utils/MyGUIConfigTargets.cmake
+index 6483339..0b35148 100644
+--- a/CMake/Utils/MyGUIConfigTargets.cmake
++++ b/CMake/Utils/MyGUIConfigTargets.cmake
+@@ -170,6 +170,11 @@ function(mygui_app PROJECTNAME SOLUTIONFOLDER)
+ set(MYGUI_EXEC_TYPE WIN32)
+ endif ()
+ add_executable(${PROJECTNAME} ${MYGUI_EXEC_TYPE} ${HEADER_FILES} ${SOURCE_FILES})
++ if (APPLE)
++ install(TARGETS ${PROJECTNAME} BUNDLE DESTINATION bin)
++ else ()
++ install(TARGETS ${PROJECTNAME} RUNTIME DESTINATION bin)
++ endif ()
+ endif ()
+ set_target_properties(${PROJECTNAME} PROPERTIES FOLDER ${SOLUTIONFOLDER})
+
diff --git a/vcpkg/ports/mygui/fix-generation.patch b/vcpkg/ports/mygui/fix-generation.patch
new file mode 100644
index 0000000..80d6900
--- /dev/null
+++ b/vcpkg/ports/mygui/fix-generation.patch
@@ -0,0 +1,30 @@
+diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt
+index a0ef573..b77566e 100644
+--- a/CMake/CMakeLists.txt
++++ b/CMake/CMakeLists.txt
+@@ -5,7 +5,7 @@
+ #############################################################
+
+ if(WIN32)
+- set(MYGUI_CMAKE_DIR "CMake")
++ set(MYGUI_CMAKE_DIR "share")
+ else(WIN32)
+ set(MYGUI_CMAKE_DIR "lib/MYGUI/cmake")
+ endif(WIN32)
+diff --git a/CMake/Utils/MyGUIConfigTargets.cmake b/CMake/Utils/MyGUIConfigTargets.cmake
+index 8fb1ce4..6483339 100644
+--- a/CMake/Utils/MyGUIConfigTargets.cmake
++++ b/CMake/Utils/MyGUIConfigTargets.cmake
+@@ -7,10 +7,10 @@ if (WIN32)
+ set(MYGUI_RELWDBG_PATH "/RelWithDebInfo")
+ set(MYGUI_MINSIZE_PATH "/MinSizeRel")
+ set(MYGUI_DEBUG_PATH "/Debug")
+- set(MYGUI_LIB_RELEASE_PATH "/Release")
++ set(MYGUI_LIB_RELEASE_PATH "")
+ set(MYGUI_LIB_RELWDBG_PATH "/RelWithDebInfo")
+ set(MYGUI_LIB_MINSIZE_PATH "/MinSizeRel")
+- set(MYGUI_LIB_DEBUG_PATH "/Debug")
++ set(MYGUI_LIB_DEBUG_PATH "")
+ set(MYGUI_PLUGIN_PATH "/opt")
+ elseif (UNIX)
+ set(MYGUI_RELEASE_PATH "")
diff --git a/vcpkg/ports/mygui/fix-tools-lnk2005.patch b/vcpkg/ports/mygui/fix-tools-lnk2005.patch
new file mode 100644
index 0000000..08a8e23
--- /dev/null
+++ b/vcpkg/ports/mygui/fix-tools-lnk2005.patch
@@ -0,0 +1,13 @@
+diff --git a/Tools/EditorFramework/ComponentFactory.cpp b/Tools/EditorFramework/ComponentFactory.cpp
+index 3311936..701af6d 100644
+--- a/Tools/EditorFramework/ComponentFactory.cpp
++++ b/Tools/EditorFramework/ComponentFactory.cpp
+@@ -46,7 +46,7 @@ namespace tools
+ FACTORY_ITEM(FocusInfoControl)
+ FACTORY_ITEM(DataListBaseControl)
+ FACTORY_ITEM(ColourPanel)
+- FACTORY_ITEM(BackgroundControl)
++// FACTORY_ITEM(BackgroundControl)
+ FACTORY_ITEM(TextureBrowseControl)
+ FACTORY_ITEM(TextFieldControl)
+ FACTORY_ITEM(SettingsWindow)
diff --git a/vcpkg/ports/mygui/opengl.patch b/vcpkg/ports/mygui/opengl.patch
new file mode 100644
index 0000000..7782b24
--- /dev/null
+++ b/vcpkg/ports/mygui/opengl.patch
@@ -0,0 +1,26 @@
+diff --git a/Common/CMakeLists.txt b/Common/CMakeLists.txt
+index db7d6610c..eb9190e07 100644
+--- a/Common/CMakeLists.txt
++++ b/Common/CMakeLists.txt
+@@ -41,12 +41,9 @@ elseif(MYGUI_RENDERSYSTEM EQUAL 3)
+ elseif(MYGUI_RENDERSYSTEM EQUAL 4)
+ add_definitions("-DMYGUI_OPENGL_PLATFORM")
+ include_directories(SYSTEM
+- ${OPENGL_INCLUDE_DIR}
+ ${SDL2_IMAGE_INCLUDE_DIRS}
+ ${MYGUI_SOURCE_DIR}/Platforms/${MYGUI_PLATFORM_NAME}/${MYGUI_PLATFORM_NAME}Platform/include
+ )
+- include_directories(SYSTEM include/GL)
+- link_directories(${OPENGL_LIB_DIR})
+ link_directories(${SDL2_IMAGE_LIB_DIR})
+ elseif(MYGUI_RENDERSYSTEM EQUAL 5)
+ add_definitions("-DMYGUI_DIRECTX_PLATFORM")
+@@ -106,3 +103,8 @@ if (MYGUI_INSTALL_TOOLS OR MYGUI_INSTALL_DEMOS)
+ endif()
+
+ add_dependencies(${PROJECTNAME} MyGUIEngine)
++
++if(MYGUI_RENDERSYSTEM EQUAL 4)
++ find_package(OpenGL REQUIRED)
++ target_link_libraries(${PROJECTNAME} OpenGL::GL)
++endif()
diff --git a/vcpkg/ports/mygui/platform-lib-static.patch b/vcpkg/ports/mygui/platform-lib-static.patch
new file mode 100644
index 0000000..d36519d
--- /dev/null
+++ b/vcpkg/ports/mygui/platform-lib-static.patch
@@ -0,0 +1,119 @@
+diff --git a/Platforms/DirectX/DirectXPlatform/CMakeLists.txt b/Platforms/DirectX/DirectXPlatform/CMakeLists.txt
+index 169a2afe4..2ea45af2b 100644
+--- a/Platforms/DirectX/DirectXPlatform/CMakeLists.txt
++++ b/Platforms/DirectX/DirectXPlatform/CMakeLists.txt
+@@ -9,7 +9,7 @@ include_directories(
+
+ include(${PROJECTNAME}.list)
+
+-add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES})
++add_library(${PROJECTNAME} STATIC ${HEADER_FILES} ${SOURCE_FILES})
+
+ add_dependencies(${PROJECTNAME} MyGUIEngine)
+
+diff --git a/Platforms/DirectX11/DirectX11Platform/CMakeLists.txt b/Platforms/DirectX11/DirectX11Platform/CMakeLists.txt
+index 251fcdbe3..16d4f33a5 100644
+--- a/Platforms/DirectX11/DirectX11Platform/CMakeLists.txt
++++ b/Platforms/DirectX11/DirectX11Platform/CMakeLists.txt
+@@ -9,7 +9,7 @@ include_directories(
+
+ include(${PROJECTNAME}.list)
+
+-add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES})
++add_library(${PROJECTNAME} STATIC ${HEADER_FILES} ${SOURCE_FILES})
+
+ add_dependencies(${PROJECTNAME} MyGUIEngine)
+
+diff --git a/Platforms/Dummy/DummyPlatform/CMakeLists.txt b/Platforms/Dummy/DummyPlatform/CMakeLists.txt
+index 1055694f2..625391132 100644
+--- a/Platforms/Dummy/DummyPlatform/CMakeLists.txt
++++ b/Platforms/Dummy/DummyPlatform/CMakeLists.txt
+@@ -8,7 +8,7 @@ include_directories(
+
+ include(${PROJECTNAME}.list)
+
+-add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES})
++add_library(${PROJECTNAME} STATIC ${HEADER_FILES} ${SOURCE_FILES})
+
+ add_dependencies(${PROJECTNAME} MyGUIEngine)
+
+diff --git a/Platforms/Ogre/OgrePlatform/CMakeLists.txt b/Platforms/Ogre/OgrePlatform/CMakeLists.txt
+index a151abcf8..23f8a2373 100644
+--- a/Platforms/Ogre/OgrePlatform/CMakeLists.txt
++++ b/Platforms/Ogre/OgrePlatform/CMakeLists.txt
+@@ -8,7 +8,7 @@ include_directories(
+
+ include(${PROJECTNAME}.list)
+
+-add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES})
++add_library(${PROJECTNAME} STATIC ${HEADER_FILES} ${SOURCE_FILES})
+
+ add_dependencies(${PROJECTNAME} MyGUIEngine)
+
+diff --git a/Platforms/OpenGL/OpenGLPlatform/CMakeLists.txt b/Platforms/OpenGL/OpenGLPlatform/CMakeLists.txt
+index 0d58d3d71..78eaf0267 100644
+--- a/Platforms/OpenGL/OpenGLPlatform/CMakeLists.txt
++++ b/Platforms/OpenGL/OpenGLPlatform/CMakeLists.txt
+@@ -19,7 +19,7 @@ if (NOT MYGUI_USE_SYSTEM_GLEW)
+ endif ()
+ add_definitions(-DGL_GLEXT_PROTOTYPES)
+
+-add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES})
++add_library(${PROJECTNAME} STATIC ${HEADER_FILES} ${SOURCE_FILES})
+
+ add_dependencies(${PROJECTNAME} MyGUIEngine)
+
+diff --git a/Platforms/OpenGL3/OpenGL3Platform/CMakeLists.txt b/Platforms/OpenGL3/OpenGL3Platform/CMakeLists.txt
+index 27d96da3e..4dcee1601 100644
+--- a/Platforms/OpenGL3/OpenGL3Platform/CMakeLists.txt
++++ b/Platforms/OpenGL3/OpenGL3Platform/CMakeLists.txt
+@@ -19,7 +19,7 @@ if (NOT MYGUI_USE_SYSTEM_GLEW)
+ endif ()
+ add_definitions(-DGL_GLEXT_PROTOTYPES)
+
+-add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES})
++add_library(${PROJECTNAME} STATIC ${HEADER_FILES} ${SOURCE_FILES})
+
+ add_dependencies(${PROJECTNAME} MyGUIEngine)
+
+diff --git a/Platforms/OpenGLES/OpenGLESPlatform/CMakeLists.txt b/Platforms/OpenGLES/OpenGLESPlatform/CMakeLists.txt
+index bd6d9657b..ad31fc158 100644
+--- a/Platforms/OpenGLES/OpenGLESPlatform/CMakeLists.txt
++++ b/Platforms/OpenGLES/OpenGLESPlatform/CMakeLists.txt
+@@ -9,7 +9,7 @@ include_directories(
+
+ include(${PROJECTNAME}.list)
+ add_definitions(-DGL_GLEXT_PROTOTYPES)
+-add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES})
++add_library(${PROJECTNAME} STATIC ${HEADER_FILES} ${SOURCE_FILES})
+
+ add_dependencies(${PROJECTNAME} MyGUIEngine)
+
+From 32e39f8de4b750ed5d2332ee18846f23b7e98df5 Mon Sep 17 00:00:00 2001
+From: AnyOldName3 <krizdjali@gmail.com>
+Date: Tue, 29 Oct 2024 14:53:52 +0000
+Subject: [PATCH] Explicitly mark another library as static
+
+I've also figured out why this problem wasn't obvious.
+It only happens when someone's used the CMake-standard BUILD_SHARED_LIBS option, which controls the default behaviour for add_library.
+When MyGUI is built as a standalone project, this won't be set (unless someone's done it manually) so it's fine.
+When MyGUI is built as part of a larger project (e.g. package manager like vcpkg or CPM, or as a nested project with FetchContent), it's likely to have been set by something else.
+
+It might be a good idea to pick the default value of MYGUI_STATIC to match BUILD_SHARED_LIBS if it's set, but I've not done that in this PR.
+---
+ Common/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Common/CMakeLists.txt b/Common/CMakeLists.txt
+index e97507019..87a16290f 100644
+--- a/Common/CMakeLists.txt
++++ b/Common/CMakeLists.txt
+@@ -99,7 +99,7 @@ SOURCE_GROUP("Base" FILES
+ Input/SDL/ResourceSDLPointer.cpp
+ )
+
+-add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES})
++add_library(${PROJECTNAME} STATIC ${HEADER_FILES} ${SOURCE_FILES})
+
+ mygui_set_platform_name(${MYGUI_RENDERSYSTEM})
+ add_dependencies(${PROJECTNAME} MyGUI.${MYGUI_PLATFORM_NAME}Platform)
diff --git a/vcpkg/ports/mygui/portfile.cmake b/vcpkg/ports/mygui/portfile.cmake
new file mode 100644
index 0000000..4686bb2
--- /dev/null
+++ b/vcpkg/ports/mygui/portfile.cmake
@@ -0,0 +1,72 @@
+vcpkg_download_distfile(
+ basic_string_patch
+ URLS "https://github.com/MyGUI/mygui/commit/0731785d83431bd17a0854f19bea9a7d687de5a7.diff?full_index=1"
+ FILENAME "MyGUI-mygui-basic-string-0731785.diff"
+ SHA512 4ca252b8d37d9b98b9a1295c181325a33c30534757f8adbbcceceafacd97ff6987fb7a5d1f087b960519c923007e6adff2e8b1d873d75e7faff05b9a20b9cd79
+)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO MyGUI/mygui
+ REF MyGUI${VERSION}
+ SHA512 88c69ca2e706af364b72d425f95013eb285501881d8094f8d67e31a54c45ca11b0eb5b62c382af0d4c43f69aa8197648259ac306b72efa7ef3e25eecb9b039cb
+ HEAD_REF master
+ PATCHES
+ fix-generation.patch
+ Install-tools.patch
+ opengl.patch
+ sdl2-static.patch
+ fix-tools-lnk2005.patch
+ platform-lib-static.patch
+ ${basic_string_patch}
+)
+
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "wasm32")
+ message(STATUS "Setting MYGUI_RENDERSYSTEM to 8 (GLES) - officially supported MyGUI render system for wasm32")
+ set(MYGUI_RENDERSYSTEM 8)
+elseif("opengl" IN_LIST FEATURES)
+ set(MYGUI_RENDERSYSTEM 4)
+else()
+ set(MYGUI_RENDERSYSTEM 1)
+endif()
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ plugins MYGUI_BUILD_PLUGINS
+ tools MYGUI_BUILD_TOOLS
+ INVERTED_FEATURES
+ obsolete MYGUI_DONT_USE_OBSOLETE
+ plugins MYGUI_DISABLE_PLUGINS
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" MYGUI_STATIC)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DMYGUI_STATIC=${MYGUI_STATIC}
+ -DMYGUI_BUILD_DEMOS=FALSE
+ -DMYGUI_BUILD_UNITTESTS=FALSE
+ -DMYGUI_BUILD_TEST_APP=FALSE
+ -DMYGUI_BUILD_WRAPPER=FALSE
+ -DMYGUI_BUILD_DOCS=FALSE
+ -DMYGUI_RENDERSYSTEM=${MYGUI_RENDERSYSTEM}
+ ${FEATURE_OPTIONS}
+)
+
+vcpkg_cmake_install()
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+ "${CURRENT_PACKAGES_DIR}/debug/share"
+)
+
+vcpkg_fixup_pkgconfig()
+vcpkg_copy_pdbs()
+
+if("tools" IN_LIST FEATURES)
+ vcpkg_copy_tools(TOOL_NAMES FontEditor ImageEditor LayoutEditor SkinEditor AUTO_CLEAN)
+endif()
+
+# Handle copyright
+file(INSTALL "${SOURCE_PATH}/COPYING.MIT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/vcpkg/ports/mygui/sdl2-static.patch b/vcpkg/ports/mygui/sdl2-static.patch
new file mode 100644
index 0000000..cc5cb1a
--- /dev/null
+++ b/vcpkg/ports/mygui/sdl2-static.patch
@@ -0,0 +1,35 @@
+diff --git a/CMake/Packages/FindSDL2.cmake b/CMake/Packages/FindSDL2.cmake
+index 4dd33abe4..3911acef3 100644
+--- a/CMake/Packages/FindSDL2.cmake
++++ b/CMake/Packages/FindSDL2.cmake
+@@ -49,7 +49,7 @@ IF(NOT SDL2_FOUND)
+ )
+
+ find_library(SDL2_LIBRARY
+- NAMES SDL2
++ NAMES SDL2 SDL2-static
+ HINTS
+ ${PC_SDL2_LIBDIR}
+ ${PC_SDL2_LIBRARY_DIRS}
+@@ -87,7 +87,7 @@ IF(NOT SDL2_FOUND)
+ set(SDL2_INCLUDE_DIRS ${SDL2_INCLUDE_DIR})
+ set(SDL2_LIBRARIES ${SDL2MAIN_LIBRARY} ${SDL2_LIBRARY})
+ if (WIN32)
+- set(SDL2_LIBRARIES ${SDL2_LIBRARIES} winmm imm32 version)
++ set(SDL2_LIBRARIES ${SDL2_LIBRARIES} winmm imm32 version setupapi)
+ endif()
+ include(FindPackageHandleStandardArgs)
+
+diff --git a/CMake/Packages/FindSDL2_image.cmake b/CMake/Packages/FindSDL2_image.cmake
+index 4f0bc5f17..857806b1f 100644
+--- a/CMake/Packages/FindSDL2_image.cmake
++++ b/CMake/Packages/FindSDL2_image.cmake
+@@ -41,7 +41,7 @@ IF(NOT SDL2_IMAGE_FOUND)
+ )
+
+ find_library(SDL2_IMAGE_LIBRARY
+- NAMES SDL2_image
++ NAMES SDL2_image SDL2_image-static
+ HINTS
+ ${PC_SDL2_IMAGE_LIBDIR}
+ ${PC_SDL2_IMAGE_LIBRARY_DIRS}
diff --git a/vcpkg/ports/mygui/vcpkg.json b/vcpkg/ports/mygui/vcpkg.json
new file mode 100644
index 0000000..e0fcb4a
--- /dev/null
+++ b/vcpkg/ports/mygui/vcpkg.json
@@ -0,0 +1,40 @@
+{
+ "name": "mygui",
+ "version": "3.4.3",
+ "port-version": 4,
+ "description": "Fast, flexible and simple GUI",
+ "homepage": "http://mygui.info",
+ "license": "MIT",
+ "supports": "!uwp",
+ "dependencies": [
+ "freetype",
+ "sdl2-image",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ],
+ "features": {
+ "obsolete": {
+ "description": "Keep obsolete functions."
+ },
+ "opengl": {
+ "description": "Use OpenGL render system.",
+ "supports": "!android",
+ "dependencies": [
+ "opengl"
+ ]
+ },
+ "plugins": {
+ "description": "Build MyGUI plugins."
+ },
+ "tools": {
+ "description": "Install MyGUI tools.",
+ "supports": "!android"
+ }
+ }
+}