diff options
Diffstat (limited to 'vcpkg/ports/mygui')
| -rw-r--r-- | vcpkg/ports/mygui/Install-tools.patch | 16 | ||||
| -rw-r--r-- | vcpkg/ports/mygui/fix-generation.patch | 30 | ||||
| -rw-r--r-- | vcpkg/ports/mygui/fix-tools-lnk2005.patch | 13 | ||||
| -rw-r--r-- | vcpkg/ports/mygui/opengl.patch | 26 | ||||
| -rw-r--r-- | vcpkg/ports/mygui/platform-lib-static.patch | 119 | ||||
| -rw-r--r-- | vcpkg/ports/mygui/portfile.cmake | 72 | ||||
| -rw-r--r-- | vcpkg/ports/mygui/sdl2-static.patch | 35 | ||||
| -rw-r--r-- | vcpkg/ports/mygui/vcpkg.json | 40 |
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" + } + } +} |