Skip to content

Commit

Permalink
[tgui] Fix usage and update to 0.9.1 (#17093)
Browse files Browse the repository at this point in the history
* [tgui] Fix usage

* update version record

* update to 0.9.1

* update version record

* [tgui] Add feature sdl2 and sfml, fix dependencies

* add comment

* version

* fix gui-builder build

* Update versions/t-/tgui.json

* Update ports/tgui/vcpkg.json

* update manifest

* update to latest commit

* update version record

* Update versions/baseline.json
  • Loading branch information
JackBoosY committed May 18, 2021
1 parent 968c5eb commit c7f8a9d
Show file tree
Hide file tree
Showing 7 changed files with 123 additions and 31 deletions.
7 changes: 0 additions & 7 deletions ports/tgui/CONTROL

This file was deleted.

27 changes: 27 additions & 0 deletions ports/tgui/fix-dependencies.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
diff --git a/src/Backends/SDL/CMakeLists.txt b/src/Backends/SDL/CMakeLists.txt
index d86f11d..1e31e21 100644
--- a/src/Backends/SDL/CMakeLists.txt
+++ b/src/Backends/SDL/CMakeLists.txt
@@ -1,10 +1,10 @@
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake_modules)

-find_package(SDL2 REQUIRED)
-find_package(SDL2_ttf REQUIRED)
+find_package(SDL2 CONFIG REQUIRED)
+find_package(sdl2-ttf CONFIG REQUIRED)

# Link to SDL and set include and library search directories
-target_link_libraries(tgui PRIVATE SDL2::Core SDL2::TTF)
+target_link_libraries(tgui PRIVATE SDL2::SDL2 SDL2::SDL2_ttf)

# Add the backend source files to the library
target_sources(tgui PRIVATE
@@ -19,7 +19,7 @@ target_sources(tgui PRIVATE
)

add_library(tgui-sdl-interface INTERFACE)
-target_link_libraries(tgui-sdl-interface INTERFACE SDL2::Core SDL2::TTF SDL2::Main)
+target_link_libraries(tgui-sdl-interface INTERFACE SDL2::SDL2 SDL2::SDL2_ttf SDL2::SDL2main)

# Also link to OpenGL or OpenGL ES
if(NOT TGUI_USE_GLES)
23 changes: 23 additions & 0 deletions ports/tgui/fix-usage.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
diff --git a/cmake/TGUIConfig.cmake.in b/cmake/TGUIConfig.cmake.in
index 63e8a45..01804cd 100644
--- a/cmake/TGUIConfig.cmake.in
+++ b/cmake/TGUIConfig.cmake.in
@@ -44,6 +44,9 @@
# add_executable(myapp ...)
# target_link_libraries(myapp tgui)

+include(CMakeFindDependencyMacro)
+find_dependency(SFML COMPONENTS graphics CONFIG)
+
set(FIND_TGUI_PATHS
"${CMAKE_CURRENT_LIST_DIR}/../.."
${TGUI_ROOT}
@@ -58,7 +61,7 @@ set(FIND_TGUI_PATHS
/opt)

# Choose which target definitions must be imported
-if (TGUI_STATIC_LIBRARIES)
+if (NOT @TGUI_SHARED_LIBS@)
set(TGUI_IS_FRAMEWORK_INSTALL "@TGUI_BUILD_FRAMEWORKS@")
if (TGUI_IS_FRAMEWORK_INSTALL)
message(WARNING "Static frameworks are not supported by TGUI. Clear TGUI_DIR cache entry, \
50 changes: 27 additions & 23 deletions ports/tgui/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO texus/TGUI
REF 6576c04e594ae0b76ff5e188d543a7558882ad6c # v0.8.8
SHA512 52d044e90fde0eb6c46c3af3e11a6c8641cce301e863858701aaa909b945c76a1dade2f96a2176a223d92c51f84fe8a6dd883ec74873e8d2fcf09dac50869891
HEAD_REF 0.8
REF 6515153c2466e6677ba933679b3dca6c283daf87
SHA512 109e64c114336979a4bd0d44765e4bc26cb4ecb6e4db92d7441230d148438b084d01cb56dd292f09a6fd28b0f7420044455ffb519147cc3aea71e322142cd9a0
HEAD_REF 0.9
PATCHES
fix-usage.patch
fix-dependencies.patch
)

set(TGUI_SHARE_PATH ${CURRENT_PACKAGES_DIR}/share/tgui)
Expand All @@ -13,38 +16,35 @@ set(TGUI_TOOLS_PATH ${CURRENT_PACKAGES_DIR}/tools/tgui)
file(REMOVE "${SOURCE_PATH}/cmake/Modules/FindSFML.cmake")
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" TGUI_SHARED_LIBS)

# gui-builder
set(BUILD_GUI_BUILDER OFF)
if("tool" IN_LIST FEATURES)
set(BUILD_GUI_BUILDER ON)
endif()
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
sdl2 TGUI_HAS_BACKEND_SDL
sfml TGUI_HAS_BACKEND_SFML
tool TGUI_BUILD_GUI_BUILDER
)

vcpkg_configure_cmake(
SOURCE_PATH "${SOURCE_PATH}"
DISABLE_PARALLEL_CONFIGURE
PREFER_NINJA
OPTIONS
-DTGUI_BUILD_GUI_BUILDER=${BUILD_GUI_BUILDER}
OPTIONS ${FEATURE_OPTIONS}
-DTGUI_MISC_INSTALL_PREFIX=${TGUI_SHARE_PATH}
-DTGUI_SHARED_LIBS=${TGUI_SHARED_LIBS}
-DTGUI_BACKEND="Custom"
-DTGUI_BUILD_EXAMPLES=OFF
)

vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/TGUI)
vcpkg_copy_pdbs()

if(BUILD_GUI_BUILDER)
set(EXECUTABLE_SUFFIX "")
if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
set(EXECUTABLE_SUFFIX ".exe")
endif()

message(STATUS "Check for: ${TGUI_SHARE_PATH}/gui-builder/gui-builder${EXECUTABLE_SUFFIX}")
if(EXISTS "${TGUI_SHARE_PATH}/gui-builder/gui-builder${EXECUTABLE_SUFFIX}")
if("tool" IN_LIST FEATURES)
message(STATUS "Check for: ${TGUI_SHARE_PATH}/gui-builder/gui-builder${VCPKG_TARGET_EXECUTABLE_SUFFIX}")
if(EXISTS "${TGUI_SHARE_PATH}/gui-builder/gui-builder${VCPKG_TARGET_EXECUTABLE_SUFFIX}")
file(MAKE_DIRECTORY "${TGUI_TOOLS_PATH}")
file(RENAME
"${TGUI_SHARE_PATH}/gui-builder/gui-builder${EXECUTABLE_SUFFIX}"
"${TGUI_TOOLS_PATH}/gui-builder${EXECUTABLE_SUFFIX}")
"${TGUI_SHARE_PATH}/gui-builder/gui-builder${VCPKG_TARGET_EXECUTABLE_SUFFIX}"
"${TGUI_TOOLS_PATH}/gui-builder${VCPKG_TARGET_EXECUTABLE_SUFFIX}")
# Need to copy `resources` and `themes` directories
file(COPY "${TGUI_SHARE_PATH}/gui-builder/resources" DESTINATION "${TGUI_TOOLS_PATH}")
file(COPY "${TGUI_SHARE_PATH}/gui-builder/themes" DESTINATION "${TGUI_TOOLS_PATH}")
Expand All @@ -53,8 +53,12 @@ if(BUILD_GUI_BUILDER)
endif()
endif()

file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/TGUI/nanosvg")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/TGUI/extlibs/nanosvg" "${CURRENT_PACKAGES_DIR}/include/TGUI/extlibs/glad"
"${CURRENT_PACKAGES_DIR}/include/TGUI/extlibs/stb"
) # All folders are empty

file(RENAME "${CURRENT_PACKAGES_DIR}/share/doc" "${CURRENT_PACKAGES_DIR}/share/${PORT}/doc")

# Handle copyright
file(INSTALL "${SOURCE_PATH}/license.txt" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(INSTALL "${SOURCE_PATH}/license.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
40 changes: 40 additions & 0 deletions ports/tgui/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"name": "tgui",
"version-date": "2021-04-19",
"description": "TGUI is an easy to use, cross-platform, C++ GUI for SFML.",
"homepage": "https://tgui.eu",
"default-features": [
"sdl2",
"sfml"
],
"features": {
"sdl2": {
"description": "build the SDL backend",
"dependencies": [
"sdl2",
"sdl2-ttf"
]
},
"sfml": {
"description": "build the SFML backend",
"dependencies": [
{
"name": "glad",
"features": [
"egl"
],
"platform": "!android & !ios"
},
{
"name": "opengl",
"platform": "android | ios"
},
"sfml",
"stb"
]
},
"tool": {
"description": "Build GUI builder"
}
}
}
2 changes: 1 addition & 1 deletion versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -5989,7 +5989,7 @@
"port-version": 0
},
"tgui": {
"baseline": "0.8.8",
"baseline": "2021-04-19",
"port-version": 0
},
"theia": {
Expand Down
5 changes: 5 additions & 0 deletions versions/t-/tgui.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "bf02ffb145ee6449fd7479d72920c1e1ca9843c8",
"version-date": "2021-04-19",
"port-version": 0
},
{
"git-tree": "5ea44912cb8584751e303f69d686e3126c028300",
"version-string": "0.8.8",
Expand Down

0 comments on commit c7f8a9d

Please sign in to comment.