[New Port Request] cegui/cegui #43897
Labels
category:new-port
The issue is requesting a new library to be added; consider making a PR!
info:good-first-issue
This issue would be a good issue to get one's feet wet in solving.
Library name
CEGUI
Library description
A versatile, fast, adjustable, multi-platform, C++ library for creating graphical user interfaces for games and rendering applications.
Source repository URL
https://github.com/cegui/cegui
Project homepage (if different from the source repository)
https://cegui.org.uk
Anything else that is useful to know when adding (such as optional features the library may have that should be included)
Notability
This library has been used in many indie and commercial projects over the past 15 years, including the original Torchlight game; and in many other unlisted projects. It was at one time a popular choice for the OGRE3D game engine, which is already in vcpkg/ogre.
Versioning
Its inclusion in vcpkg has previously been requested 1, 2, 3 times. Despite some appearances, this library is not abandoned and is maintained by a small but dedicated group of volunteers. I believe the confusion around its status is that the last (and only) github/release is v0.8.7 from 2016. However, its master branch has since been using a version scheme similar to a rolling versioning scheme, which is currently synonymous with v2.4.2. That said, for now, I believe the best approach would be to use the version-date option that is typically used for rolling-versions; similar to vcpkg/luajit.
CMake
It already uses cmake with a robust CMakeLists.txt file. It defaults to Release builds like most vcpkg packages. It has build targets for Win32, Apple, Unix, and Android. It already supports both static and dynamic build configurations, including static vs dynamic MSVS runtime linking.
Dependencies
This library only needs 6 dependencies to meet its core requirements on Win32. It does support a variety of alternatives to fulfill them, but only these are needed to build the library with "default" options:
For apple/unix, it would also need:
For the samples, it would also need:
Note that all core dependencies are already in vcpkg. All the necessary pieces are here, but we need a portfle to expose them. This set of dependencies should be sufficient for an initial package version; the remaining alternatives could be added as features later.
The text was updated successfully, but these errors were encountered: