[bgfx] Code cleanup (#39034)

For #34546.
This commit is contained in:
Kai Pastor 2024-06-03 08:03:43 +02:00 committed by GitHub
parent f4930f9788
commit 4afb59c0c3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 48 additions and 60 deletions

View File

@ -1,49 +1,45 @@
if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
endif()
vcpkg_download_distfile(
ARCHIVE_FILE
URLS https://github.com/bkaradzic/bgfx.cmake/releases/download/v${VERSION}/bgfx.cmake.v${VERSION}.tar.gz
FILENAME bgfx.cmake.v${VERSION}.tar.gz
SHA512 8aea4f3e548f8a79e8899c9d47ec3ca78dae48f77ae039d6f5df325ba73a8ddb70c9b7c1f0cb4129ac488b445e8a8523f36a964e509133bb4a449e073ebf6112
ARCHIVE_FILE
URLS https://github.com/bkaradzic/bgfx.cmake/releases/download/v${VERSION}/bgfx.cmake.v${VERSION}.tar.gz
FILENAME bgfx.cmake.v${VERSION}.tar.gz
SHA512 8aea4f3e548f8a79e8899c9d47ec3ca78dae48f77ae039d6f5df325ba73a8ddb70c9b7c1f0cb4129ac488b445e8a8523f36a964e509133bb4a449e073ebf6112
)
vcpkg_extract_source_archive(
SOURCE_PATH
ARCHIVE ${ARCHIVE_FILE}
SOURCE_PATH
ARCHIVE "${ARCHIVE_FILE}"
)
vcpkg_check_features(
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES tools BGFX_BUILD_TOOLS multithreaded BGFX_CONFIG_MULTITHREADED
FEATURES
tools BGFX_BUILD_TOOLS
multithreaded BGFX_CONFIG_MULTITHREADED
)
if (TARGET_TRIPLET MATCHES "(windows|uwp)")
# bgfx doesn't apply __declspec(dllexport) which prevents dynamic linking
set(BGFX_LIBRARY_TYPE "STATIC")
elseif (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
set(BGFX_LIBRARY_TYPE "SHARED")
else ()
set(BGFX_LIBRARY_TYPE "STATIC")
endif ()
file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-inject-packages.cmake" DESTINATION "${SOURCE_PATH}")
# It's important to have `${CMAKE_CURRENT_LIST_DIR}` verbatim escaped in bgfxConfig.cmake
if (WIN32)
set(BGFX_ADDITIONAL_TOOL_PATHS "\$\$\{CMAKE_CURRENT_LIST_DIR}/../../../${HOST_TRIPLET}/tools/bgfx \$\$\{CMAKE_CURRENT_LIST_DIR}/../../../bgfx_${HOST_TRIPLET}/tools/bgfx")
else()
set(BGFX_ADDITIONAL_TOOL_PATHS "\"\\\$\$\{CMAKE_CURRENT_LIST_DIR}/../../../${HOST_TRIPLET}/tools/bgfx \\\$\$\{CMAKE_CURRENT_LIST_DIR}/../../../bgfx_${HOST_TRIPLET}/tools/bgfx\"")
endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS -DBGFX_LIBRARY_TYPE=${BGFX_LIBRARY_TYPE}
-DBX_AMALGAMATED=ON
-DBGFX_AMALGAMATED=ON
-DBGFX_BUILD_EXAMPLES=OFF
-DBGFX_OPENGLES_VERSION=30
-DBGFX_CMAKE_USER_SCRIPT=vcpkg-inject-packages.cmake
# #25529: Need to inject an extra path because VCPKG_HOST_TARGET is not determined automatically
-DBGFX_ADDITIONAL_TOOL_PATHS=${BGFX_ADDITIONAL_TOOL_PATHS}
${FEATURE_OPTIONS}
OPTIONS
-DBGFX_LIBRARY_TYPE=${BGFX_LIBRARY_TYPE}
-DBX_AMALGAMATED=ON
-DBGFX_AMALGAMATED=ON
-DBGFX_BUILD_EXAMPLES=OFF
-DBGFX_OPENGLES_VERSION=30
"-DBGFX_CMAKE_USER_SCRIPT=${CURRENT_PORT_DIR}/vcpkg-inject-packages.cmake"
"-DBGFX_ADDITIONAL_TOOL_PATHS=${CURRENT_INSTALLED_DIR}/../${HOST_TRIPLET}/tools/bgfx"
${FEATURE_OPTIONS}
OPTIONS_DEBUG
-DBGFX_BUILD_TOOLS=OFF
)
vcpkg_cmake_install()
@ -51,22 +47,18 @@ vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}")
vcpkg_copy_pdbs()
if ("tools" IN_LIST FEATURES)
vcpkg_copy_tools(
TOOL_NAMES bin2c shaderc geometryc geometryv texturec texturev AUTO_CLEAN
)
vcpkg_copy_tools(TOOL_NAMES bin2c shaderc geometryc geometryv texturec texturev AUTO_CLEAN)
endif ()
# Handle copyright
file(
INSTALL "${CURRENT_PACKAGES_DIR}/share/licences/${PORT}/LICENSE"
DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}"
RENAME copyright
)
vcpkg_install_copyright(
FILE_LIST "${CURRENT_PACKAGES_DIR}/share/licences/${PORT}/LICENSE"
COMMENT [[
bgfx includes third-party components which are subject to specific license
terms. Check the sources for details.
]])
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/licences"
"${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/debug/share"
file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/share/licences"
"${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/debug/share"
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR NOT VCPKG_TARGET_IS_WINDOWS)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
endif()

View File

@ -1,11 +1,12 @@
{
"name": "bgfx",
"version": "1.127.8725-469",
"port-version": 1,
"maintainers": "Sandy Carter <bwrsandman@users.noreply.github.com>",
"description": "Cross-platform, graphics API agnostic, Bring Your Own Engine/Framework style rendering library.",
"homepage": "https://bkaradzic.github.io/bgfx/overview.html",
"documentation": "https://bkaradzic.github.io/bgfx",
"license": "BSD-2-Clause",
"license": null,
"dependencies": [
"libsquish",
"miniz",
@ -20,26 +21,16 @@
}
],
"default-features": [
"platform-default-features"
{
"name": "multithreaded",
"platform": "!emscripten"
}
],
"features": {
"multithreaded": {
"description": "Encode and render on different threads",
"supports": "!emscripten"
},
"platform-default-features": {
"description": "Enables default features per platform",
"dependencies": [
{
"$comment": "bgfx does not support multithreading on emscripten",
"name": "bgfx",
"features": [
"multithreaded"
],
"platform": "!emscripten"
}
]
},
"tools": {
"$comment": "Use '\"host\": true' in dependencies of vcpkg.json in manifest mode.",
"description": "Shader, Texture and Geometry compilers for bgfx.",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "7b9ba6d3df9abc4bacc14ca3fcaf2095b7faf548",
"version": "1.127.8725-469",
"port-version": 1
},
{
"git-tree": "df7b82514ae7d190569f8e85e7c65cfec55cdc82",
"version": "1.127.8725-469",

View File

@ -618,7 +618,7 @@
},
"bgfx": {
"baseline": "1.127.8725-469",
"port-version": 0
"port-version": 1
},
"bigint": {
"baseline": "2010.04.30",