[angle] Improve UX for unofficial CMake package (#28547)

* [angle] Propagate transitive dependencies

* [angle] Add usage info for unofficial CMake targets

Only the unofficial::angle::libGLESv2 and unofficial::angle::libEGL
targets are meant to be used, because they are the targets that no other
depends on.

Co-authored-by: friendlyanon <friendlyanon@users.noreply.github.com>
This commit is contained in:
friendlyanon 2023-01-04 23:41:32 +01:00 committed by GitHub
parent 4548ef8b00
commit 58054d0572
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 26 additions and 3 deletions

View File

@ -742,7 +742,8 @@ else()
)
endif()
install(EXPORT ANGLEExport FILE unofficial-angle-config.cmake NAMESPACE unofficial::angle:: DESTINATION share/unofficial-angle)
install(EXPORT ANGLEExport FILE unofficial-angle-targets.cmake NAMESPACE unofficial::angle:: DESTINATION share/unofficial-angle)
install(FILES unofficial-angle-config.cmake DESTINATION share/unofficial-angle)
if(NOT DISABLE_INSTALL_HEADERS)
install(

View File

@ -28,6 +28,7 @@ vcpkg_from_github(
)
file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-angle-config.cmake" DESTINATION "${SOURCE_PATH}")
file(COPY "${CMAKE_CURRENT_LIST_DIR}/angle_commit.h" DESTINATION "${SOURCE_PATH}")
file(COPY "${CMAKE_CURRENT_LIST_DIR}/angle_commit.h" DESTINATION "${SOURCE_PATH}/src/common")

View File

@ -0,0 +1,7 @@
include(CMakeFindDependencyMacro)
find_dependency(ZLIB)
if(UNIX AND NOT APPLE)
find_dependency(X11 COMPONENTS Xext Xi)
endif()
include("${CMAKE_CURRENT_LIST_DIR}/unofficial-angle-targets.cmake")

8
ports/angle/usage Normal file
View File

@ -0,0 +1,8 @@
The package angle provides unofficial CMake targets:
find_package(unofficial-angle REQUIRED CONFIG)
target_link_libraries(main PRIVATE unofficial::angle::libGLESv2)
# Or use the EGL target
find_package(unofficial-angle REQUIRED CONFIG)
target_link_libraries(main PRIVATE unofficial::angle::libEGL)

View File

@ -1,12 +1,13 @@
{
"name": "angle",
"version-string": "chromium_4472",
"port-version": 6,
"port-version": 7,
"description": [
"A conformant OpenGL ES implementation for Windows, Mac and Linux.",
"The goal of ANGLE is to allow users of multiple operating systems to seamlessly run WebGL and other OpenGL ES content by translating OpenGL ES API calls to one of the hardware-supported APIs available for that platform. ANGLE currently provides translation from OpenGL ES 2.0 and 3.0 to desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. Support for translation from OpenGL ES to Vulkan is underway, and future plans include compute shader support (ES 3.1) and MacOS support."
],
"homepage": "https://github.com/google/angle",
"license": "BSD-3-Clause",
"dependencies": [
"egl-registry",
{

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "96213b303b5b0804d7c8e9b6b94aa3cd3cc90660",
"version-string": "chromium_4472",
"port-version": 7
},
{
"git-tree": "d48bbcf1eba07a4156e745140be81caff95b8757",
"version-string": "chromium_4472",

View File

@ -106,7 +106,7 @@
},
"angle": {
"baseline": "chromium_4472",
"port-version": 6
"port-version": 7
},
"antlr4": {
"baseline": "4.11.1",