From f3ebb73184b237264a8800682fe27f2919b874e7 Mon Sep 17 00:00:00 2001 From: autoantwort <41973254+autoantwort@users.noreply.github.com> Date: Mon, 13 Mar 2023 05:13:33 +0100 Subject: [PATCH] [LLGL] update (#30072) --- ports/llgl/fix-arm64-build-error.patch | 13 --- ports/llgl/fix-install-error.patch | 44 ---------- ports/llgl/install.patch | 113 +++++++++++++++++++++++++ ports/llgl/portfile.cmake | 32 ++++--- ports/llgl/vcpkg.json | 26 +++++- scripts/ci.baseline.txt | 2 - versions/baseline.json | 4 +- versions/l-/llgl.json | 5 ++ 8 files changed, 165 insertions(+), 74 deletions(-) delete mode 100644 ports/llgl/fix-arm64-build-error.patch delete mode 100644 ports/llgl/fix-install-error.patch create mode 100644 ports/llgl/install.patch diff --git a/ports/llgl/fix-arm64-build-error.patch b/ports/llgl/fix-arm64-build-error.patch deleted file mode 100644 index d80061c16c..0000000000 --- a/ports/llgl/fix-arm64-build-error.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f440884..f1a9190 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -559,6 +559,8 @@ if(APPLE) - endif() - elseif(UNIX) - target_link_libraries(LLGL X11 pthread Xxf86vm Xrandr) -+elseif(WIN32) -+ target_link_libraries(LLGL gdi32 shell32) - endif() - - set_target_properties(LLGL PROPERTIES LINKER_LANGUAGE CXX DEBUG_POSTFIX "D") diff --git a/ports/llgl/fix-install-error.patch b/ports/llgl/fix-install-error.patch deleted file mode 100644 index 872d01bfc0..0000000000 --- a/ports/llgl/fix-install-error.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f440884..d1b0c2f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -614,6 +614,12 @@ if(LLGL_BUILD_RENDERER_OPENGL) - target_link_libraries(LLGL_OpenGL LLGL ${OPENGL_LIBRARIES}) - - ADD_DEFINE(LLGL_BUILD_RENDERER_OPENGL) -+ -+ install(TARGETS LLGL_OpenGL -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib -+ ) - else() - message("Missing OpenGL -> LLGL_OpenGL renderer will be excluded from project") - endif() -@@ -681,6 +687,12 @@ if(WIN32) - target_link_libraries(LLGL_Direct3D11 LLGL d3d11 dxgi D3DCompiler) - - ADD_DEFINE(LLGL_BUILD_RENDERER_DIRECT3D11) -+ -+ install(TARGETS LLGL_Direct3D11 -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib -+ ) - endif() - - if(LLGL_BUILD_RENDERER_DIRECT3D12) -@@ -821,4 +833,13 @@ if(LLGL_ENABLE_SPIRV_REFLECT) - message("Including Submodule: SPIRV") - endif() - -+# Install targets -+install(TARGETS ${PROJECT_NAME} -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib -+) -+# Install headers -+install(DIRECTORY ${PROJECT_INCLUDE_DIR} DESTINATION .) -+ - diff --git a/ports/llgl/install.patch b/ports/llgl/install.patch new file mode 100644 index 0000000000..0041c2d5e4 --- /dev/null +++ b/ports/llgl/install.patch @@ -0,0 +1,113 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f4c8b497..ff922fd6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -729,8 +729,12 @@ else() + set(SUMMARY_LIBRARY_TYPE "Shared") + add_library(LLGL SHARED ${FilesLLGL}) + endif() ++set(all_targets LLGL) + +-target_include_directories(LLGL PUBLIC ${PROJECT_INCLUDE_DIR}) ++include(GNUInstallDirs) ++target_include_directories(LLGL INTERFACE ++ $ ++ $) + + if(LLGL_ANDROID_PLATFORM) + target_link_libraries(LLGL android log) +@@ -763,6 +767,8 @@ if(LLGL_BUILD_RENDERER_NULL) + target_link_libraries(LLGL_Null LLGL ${OPENGL_LIBRARIES}) + + ADD_DEFINE(LLGL_BUILD_RENDERER_NULL) ++ ++ list(APPEND all_targets LLGL_Null) + endif() + + if(LLGL_BUILD_RENDERER_OPENGLES3) +@@ -788,6 +794,8 @@ if(LLGL_BUILD_RENDERER_OPENGLES3) + + ADD_DEFINE(LLGL_BUILD_RENDERER_OPENGLES3) + ADD_PROJECT_DEFINE(LLGL_OpenGLES3 LLGL_OPENGLES3) ++ ++ list(APPEND all_targets LLGL_OpenGLES3) + else() + message("Missing OpenGLES -> LLGL_OpenGLES3 renderer will be excluded from project") + endif() +@@ -816,6 +824,8 @@ if(LLGL_BUILD_RENDERER_OPENGL) + + ADD_DEFINE(LLGL_BUILD_RENDERER_OPENGL) + ADD_PROJECT_DEFINE(LLGL_OpenGL LLGL_OPENGL) ++ ++ list(APPEND all_targets LLGL_OpenGL) + else() + message("Missing OpenGL -> LLGL_OpenGL renderer will be excluded from project") + endif() +@@ -838,6 +848,8 @@ if(NOT APPLE AND LLGL_BUILD_RENDERER_VULKAN) + target_link_libraries(LLGL_Vulkan LLGL ${Vulkan_LIBRARY}) + + ADD_DEFINE(LLGL_BUILD_RENDERER_VULKAN) ++ ++ list(APPEND all_targets LLGL_Vulkan) + else() + message("Missing Vulkan -> LLGL_Vulkan renderer will be excluded from project") + endif() +@@ -869,6 +881,8 @@ if(APPLE AND LLGL_BUILD_RENDERER_METAL) + endif() + + ADD_DEFINE(LLGL_BUILD_RENDERER_METAL) ++ ++ list(APPEND all_targets LLGL_Metal) + else() + message("Missing Metal/MetalKit -> LLGL_Metal renderer will be excluded from project") + endif() +@@ -888,6 +902,8 @@ if(WIN32) + target_link_libraries(LLGL_Direct3D11 LLGL d3d11 dxgi D3DCompiler) + + ADD_DEFINE(LLGL_BUILD_RENDERER_DIRECT3D11) ++ ++ list(APPEND all_targets LLGL_Direct3D11) + endif() + + if(LLGL_BUILD_RENDERER_DIRECT3D12) +@@ -904,6 +920,8 @@ if(WIN32) + target_compile_definitions(LLGL_Direct3D12 PUBLIC -DLLGL_DX_ENABLE_D3D12) + + ADD_DEFINE(LLGL_BUILD_RENDERER_DIRECT3D12) ++ ++ list(APPEND all_targets LLGL_Direct3D12) + endif() + endif() + +@@ -994,6 +1012,20 @@ if(WIN32 AND LLGL_BUILD_WRAPPER_CSHARP) + add_subdirectory(Wrapper/CSharp) + endif() + ++# Install targets ++install(TARGETS ${all_targets} EXPORT LLGLTargets RUNTIME LIBRARY ARCHIVE) ++# Install headers ++install(DIRECTORY "${PROJECT_INCLUDE_DIR}/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") ++# Install CMake config files ++install(EXPORT LLGLTargets NAMESPACE LLGL:: DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/LLGL") ++include(CMakePackageConfigHelpers) ++configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/Config.cmake.in" ++ "${CMAKE_CURRENT_BINARY_DIR}/LLGLConfig.cmake" ++ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LLGL ++) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/LLGLConfig.cmake" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/LLGL" ++) + # Summary Information + message("~~~ Build Summary ~~~") + +diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in +new file mode 100644 +index 00000000..aa67a9e4 +--- /dev/null ++++ b/cmake/Config.cmake.in +@@ -0,0 +1,5 @@ ++@PACKAGE_INIT@ ++ ++include("${CMAKE_CURRENT_LIST_DIR}/LLGLTargets.cmake") ++ ++check_required_components(@PROJECT_NAME@) diff --git a/ports/llgl/portfile.cmake b/ports/llgl/portfile.cmake index 8679acba99..0eccecdb2f 100644 --- a/ports/llgl/portfile.cmake +++ b/ports/llgl/portfile.cmake @@ -1,30 +1,42 @@ -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "${PORT} currently doesn't supports UWP.") -endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO LukasBanana/LLGL - REF 8f28437960ed60622e94f4f97b24e842b5a0e9e6 - SHA512 8a6bd4109e977f9def0f04a3d31f7bd4beebbe162c52eaa08a54daf8335871615215ece166e5a9d5b5475b834fd53a26ff9638ff270a2f00c88bab21ed156760 + REF df46af8974ac6d4f955e76d01b80a8c7e00f1fc8 + SHA512 a6e11573759ced048cc9b9b97dd6abbfb70cbc29770e040b0472d529a1cff14e529b7ed62e647d9b318f6633a41918a29d66762da08e4b093582e1a45284e6d3 HEAD_REF master PATCHES - fix-install-error.patch - fix-arm64-build-error.patch + install.patch # See https://github.com/LukasBanana/LLGL/pull/81 ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES opengl LLGL_BUILD_RENDERER_OPENGL + opengl LLGL_BUILD_RENDERER_OPENGL_ES3 direct3d11 LLGL_BUILD_RENDERER_DIRECT3D11 + direct3d12 LLGL_BUILD_RENDERER_DIRECT3D12 + metal LLGL_BUILD_RENDERER_METAL + vulkan LLGL_BUILD_RENDERER_VULKAN ) +if(VCPKG_TARGET_IS_IOS OR VCPKG_TARGET_IS_ANDROID) + set(maybe_unused "LLGL_BUILD_RENDERER_OPENGL") +else() + set(maybe_unused "LLGL_BUILD_RENDERER_OPENGL_ES3") +endif() + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LLGL_BUILD_STATIC_LIB) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES ${maybe_unused} + OPTIONS + ${FEATURE_OPTIONS} + -DLLGL_BUILD_STATIC_LIB=${LLGL_BUILD_STATIC_LIB} ) vcpkg_cmake_install() - +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/LLGL) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if(VCPKG_LIBRARY_LINKAGE STREQUAL static) @@ -34,4 +46,4 @@ endif() vcpkg_copy_pdbs() # Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/llgl/vcpkg.json b/ports/llgl/vcpkg.json index 2ea53670ab..876adcc996 100644 --- a/ports/llgl/vcpkg.json +++ b/ports/llgl/vcpkg.json @@ -1,22 +1,42 @@ { "name": "llgl", - "version-string": "2019-08-15", - "port-version": 3, + "version-date": "2023-03-05", "description": "Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal.", "homepage": "https://github.com/LukasBanana/LLGL", + "license": "BSD-3-Clause", "supports": "!uwp", "dependencies": [ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ], "features": { "direct3d11": { - "description": "Support for direct3d11" + "description": "Support for direct3d11", + "supports": "windows" + }, + "direct3d12": { + "description": "Support for direct3d12", + "supports": "windows" + }, + "metal": { + "description": "Support for metal", + "supports": "osx | ios" }, "opengl": { "description": "Support for opengl" + }, + "vulkan": { + "description": "Support for vulkan", + "supports": "!osx", + "dependencies": [ + "vulkan" + ] } } } diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index c418058ade..64040e6ceb 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -524,8 +524,6 @@ live555:arm64-osx=fail live555:x64-uwp=fail # fails due to an outdated gcc version llfio:x64-linux=fail -llgl:arm-uwp=fail -llgl:x64-uwp=fail log4cplus:arm-uwp=fail log4cplus:x64-uwp=fail log4cxx:arm-uwp=fail diff --git a/versions/baseline.json b/versions/baseline.json index 3502df536d..a8bc530a11 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4781,8 +4781,8 @@ "port-version": 0 }, "llgl": { - "baseline": "2019-08-15", - "port-version": 3 + "baseline": "2023-03-05", + "port-version": 0 }, "llhttp": { "baseline": "8.1.0", diff --git a/versions/l-/llgl.json b/versions/l-/llgl.json index f7da6a32d1..7c23776b21 100644 --- a/versions/l-/llgl.json +++ b/versions/l-/llgl.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "fb900b4d6f95560eda75b56df1d0dd5b072c63bc", + "version-date": "2023-03-05", + "port-version": 0 + }, { "git-tree": "9082946cd9da5bc58319a8280b80c20be4cc0023", "version-string": "2019-08-15",