[magnum] use supports expressions (#34741)

This commit is contained in:
autoantwort 2023-11-01 21:37:36 +01:00 committed by GitHub
parent 2b609bab7b
commit 6c83d489f2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 74 additions and 44 deletions

View File

@ -20,7 +20,7 @@ foreach(_feature IN LISTS ALL_FEATURES)
string(REPLACE "-" "_" _FEATURE "${_FEATURE}") string(REPLACE "-" "_" _FEATURE "${_FEATURE}")
# Final feature is empty, ignore it # Final feature is empty, ignore it
if(_feature) if(_feature AND NOT "${_feature}" STREQUAL "dynamic-pluginmanager")
list(APPEND _COMPONENTS ${_feature} WITH_${_FEATURE}) list(APPEND _COMPONENTS ${_feature} WITH_${_FEATURE})
endif() endif()
endforeach() endforeach()

View File

@ -1,7 +1,7 @@
{ {
"name": "corrade", "name": "corrade",
"version-string": "2020.06", "version-string": "2020.06",
"port-version": 7, "port-version": 8,
"description": "C++11/C++14 multiplatform utility library.", "description": "C++11/C++14 multiplatform utility library.",
"homepage": "https://magnum.graphics/corrade/", "homepage": "https://magnum.graphics/corrade/",
"dependencies": [ "dependencies": [
@ -26,11 +26,25 @@
"utility" "utility"
], ],
"features": { "features": {
"dynamic-pluginmanager": {
"description": "PluginManager library with dynamic plugin support",
"supports": "!ios & !uwp & !android",
"dependencies": [
{
"name": "corrade",
"default-features": false,
"features": [
"pluginmanager"
]
}
]
},
"interconnect": { "interconnect": {
"description": "Interconnect library", "description": "Interconnect library",
"dependencies": [ "dependencies": [
{ {
"name": "corrade", "name": "corrade",
"default-features": false,
"features": [ "features": [
"utility" "utility"
] ]
@ -42,7 +56,12 @@
"dependencies": [ "dependencies": [
{ {
"name": "corrade", "name": "corrade",
"default-features": false,
"features": [ "features": [
{
"name": "dynamic-pluginmanager",
"platform": "!ios & !uwp & !android"
},
"utility" "utility"
] ]
} }
@ -53,6 +72,7 @@
"dependencies": [ "dependencies": [
{ {
"name": "corrade", "name": "corrade",
"default-features": false,
"features": [ "features": [
"utility" "utility"
] ]

View File

@ -14,43 +14,16 @@ vcpkg_from_github(
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_PLUGINS_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_PLUGINS_STATIC)
# Remove platform-specific feature that are not available
# on current target platform from all features.
# For documentation on VCPKG_CMAKE_SYSTEM_NAME see
# https://github.com/microsoft/vcpkg/blob/master/docs/users/triplets.md#vcpkg_cmake_system_name
set(ALL_SUPPORTED_FEATURES ${ALL_FEATURES}) set(ALL_SUPPORTED_FEATURES ${ALL_FEATURES})
# Windows Desktop
if(NOT "${VCPKG_CMAKE_SYSTEM_NAME}" STREQUAL "")
list(REMOVE_ITEM ALL_SUPPORTED_FEATURES wglcontext windowlesswglapplication)
endif()
# Universal Windows Platform
if(NOT "${VCPKG_CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
# No UWP specific features
endif()
# Mac OSX
if(NOT "${VCPKG_CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
list(REMOVE_ITEM ALL_SUPPORTED_FEATURES cglcontext windowlesscglapplication)
endif()
# Linux
if(NOT "${VCPKG_CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
list(REMOVE_ITEM ALL_SUPPORTED_FEATURES glxcontext windowlessglxapplication)
endif()
# WebAssembly / Linux
if(NOT "${VCPKG_CMAKE_SYSTEM_NAME}" MATCHES "(Emscripten|Linux)")
list(REMOVE_ITEM ALL_SUPPORTED_FEATURES eglcontext windowlesseglapplication)
endif()
# Head only features # Head only features
if(NOT VCPKG_USE_HEAD_VERSION) if(NOT VCPKG_USE_HEAD_VERSION)
list(REMOVE_ITEM ALL_SUPPORTED_FEATURES anyshaderconverter shadertools shaderconverter foreach(_feature anyshaderconverter shadertools shaderconverter vk-info)
vk-info) if("${_feature}" IN_LIST FEATURES)
message(WARNING "Features anyshaderconverter, shadertools, shaderconverter and vk-info are not avaliable when building non-head version.") message(FATAL_ERROR "Features anyshaderconverter, shadertools, shaderconverter and vk-info are not avaliable when building non-head version.")
endif()
endforeach()
list(REMOVE_ITEM ALL_SUPPORTED_FEATURES anyshaderconverter shadertools shaderconverter vk-info)
endif() endif()
set(_COMPONENTS "") set(_COMPONENTS "")
@ -97,9 +70,7 @@ set(_TOOLS
imageconverter imageconverter
sceneconverter) sceneconverter)
if(VCPKG_USE_HEAD_VERSION) if(VCPKG_USE_HEAD_VERSION)
list(APPEND _TOOLS list(APPEND _TOOLS shaderconverter vk-info)
shaderconverter
vk-info)
endif() endif()
foreach(_tool IN LISTS _TOOLS) foreach(_tool IN LISTS _TOOLS)
if("${_tool}" IN_LIST FEATURES) if("${_tool}" IN_LIST FEATURES)

View File

@ -1,7 +1,7 @@
{ {
"name": "magnum", "name": "magnum",
"version-string": "2020.06", "version-string": "2020.06",
"port-version": 14, "port-version": 15,
"description": "C++11/C++14 graphics middleware for games and data visualization", "description": "C++11/C++14 graphics middleware for games and data visualization",
"homepage": "https://magnum.graphics/", "homepage": "https://magnum.graphics/",
"license": null, "license": null,
@ -30,7 +30,6 @@
"anyimageimporter", "anyimageimporter",
"anysceneconverter", "anysceneconverter",
"anysceneimporter", "anysceneimporter",
"anyshaderconverter",
"debugtools", "debugtools",
"gl", "gl",
"meshtools", "meshtools",
@ -38,7 +37,6 @@
"scenegraph", "scenegraph",
"sdl2application", "sdl2application",
"shaders", "shaders",
"shadertools",
"text", "text",
"texturetools", "texturetools",
"trade" "trade"
@ -61,6 +59,7 @@
"dependencies": [ "dependencies": [
{ {
"name": "corrade", "name": "corrade",
"default-features": false,
"features": [ "features": [
"pluginmanager" "pluginmanager"
] ]
@ -142,6 +141,7 @@
}, },
"cglcontext": { "cglcontext": {
"description": "CglContext library", "description": "CglContext library",
"supports": "osx",
"dependencies": [ "dependencies": [
{ {
"name": "magnum", "name": "magnum",
@ -157,6 +157,7 @@
}, },
"distancefieldconverter": { "distancefieldconverter": {
"description": "magnum-distancefieldconverter utility", "description": "magnum-distancefieldconverter utility",
"supports": "!ios & !android",
"dependencies": [ "dependencies": [
{ {
"name": "magnum", "name": "magnum",
@ -171,6 +172,7 @@
}, },
"eglcontext": { "eglcontext": {
"description": "EglContext library", "description": "EglContext library",
"supports": "!windows & !osx",
"dependencies": [ "dependencies": [
{ {
"name": "magnum", "name": "magnum",
@ -183,6 +185,7 @@
}, },
"fontconverter": { "fontconverter": {
"description": "magnum-fontconverter utility", "description": "magnum-fontconverter utility",
"supports": "!ios & !android",
"dependencies": [ "dependencies": [
{ {
"name": "magnum", "name": "magnum",
@ -196,10 +199,12 @@
] ]
}, },
"gl": { "gl": {
"description": "GL library" "description": "GL library",
"supports": "!uwp"
}, },
"gl-info": { "gl-info": {
"description": "gl-info utility", "description": "gl-info utility",
"supports": "!ios",
"dependencies": [ "dependencies": [
{ {
"name": "magnum", "name": "magnum",
@ -218,6 +223,7 @@
}, },
"glxcontext": { "glxcontext": {
"description": "GlxContext library", "description": "GlxContext library",
"supports": "!windows & !osx",
"dependencies": [ "dependencies": [
{ {
"name": "magnum", "name": "magnum",
@ -231,6 +237,13 @@
"imageconverter": { "imageconverter": {
"description": "magnum-imageconverter utility", "description": "magnum-imageconverter utility",
"dependencies": [ "dependencies": [
{
"name": "corrade",
"default-features": false,
"features": [
"dynamic-pluginmanager"
]
},
{ {
"name": "magnum", "name": "magnum",
"default-features": false, "default-features": false,
@ -300,6 +313,7 @@
"dependencies": [ "dependencies": [
{ {
"name": "corrade", "name": "corrade",
"default-features": false,
"features": [ "features": [
"testsuite" "testsuite"
] ]
@ -320,6 +334,7 @@
"name": "magnum", "name": "magnum",
"default-features": false, "default-features": false,
"features": [ "features": [
"meshtools",
"trade" "trade"
] ]
} }
@ -328,6 +343,13 @@
"sceneconverter": { "sceneconverter": {
"description": "magnum-sceneconverter utility", "description": "magnum-sceneconverter utility",
"dependencies": [ "dependencies": [
{
"name": "corrade",
"default-features": false,
"features": [
"dynamic-pluginmanager"
]
},
{ {
"name": "magnum", "name": "magnum",
"default-features": false, "default-features": false,
@ -379,6 +401,7 @@
"dependencies": [ "dependencies": [
{ {
"name": "corrade", "name": "corrade",
"default-features": false,
"features": [ "features": [
"pluginmanager" "pluginmanager"
] ]
@ -431,6 +454,7 @@
"dependencies": [ "dependencies": [
{ {
"name": "corrade", "name": "corrade",
"default-features": false,
"features": [ "features": [
"pluginmanager" "pluginmanager"
] ]
@ -469,6 +493,7 @@
}, },
"wglcontext": { "wglcontext": {
"description": "WglContext library", "description": "WglContext library",
"supports": "windows & !uwp",
"dependencies": [ "dependencies": [
{ {
"name": "magnum", "name": "magnum",
@ -481,6 +506,7 @@
}, },
"windowlesscglapplication": { "windowlesscglapplication": {
"description": "WindowlessCglApplication library", "description": "WindowlessCglApplication library",
"supports": "osx",
"dependencies": [ "dependencies": [
{ {
"name": "magnum", "name": "magnum",
@ -493,6 +519,7 @@
}, },
"windowlesseglapplication": { "windowlesseglapplication": {
"description": "WindowlessEglApplication library", "description": "WindowlessEglApplication library",
"supports": "!windows & !osx & !ios",
"dependencies": [ "dependencies": [
{ {
"name": "magnum", "name": "magnum",
@ -505,6 +532,7 @@
}, },
"windowlessglxapplication": { "windowlessglxapplication": {
"description": "WindowlessGlxApplication library", "description": "WindowlessGlxApplication library",
"supports": "!windows & !osx & !ios",
"dependencies": [ "dependencies": [
{ {
"name": "magnum", "name": "magnum",
@ -517,6 +545,7 @@
}, },
"windowlesswglapplication": { "windowlesswglapplication": {
"description": "WindowlessWglApplication library", "description": "WindowlessWglApplication library",
"supports": "windows & !uwp",
"dependencies": [ "dependencies": [
{ {
"name": "magnum", "name": "magnum",

View File

@ -1790,7 +1790,7 @@
}, },
"corrade": { "corrade": {
"baseline": "2020.06", "baseline": "2020.06",
"port-version": 7 "port-version": 8
}, },
"cpp-async": { "cpp-async": {
"baseline": "1.1.0", "baseline": "1.1.0",
@ -5318,7 +5318,7 @@
}, },
"magnum": { "magnum": {
"baseline": "2020.06", "baseline": "2020.06",
"port-version": 14 "port-version": 15
}, },
"magnum-extras": { "magnum-extras": {
"baseline": "2020.06", "baseline": "2020.06",

View File

@ -1,5 +1,10 @@
{ {
"versions": [ "versions": [
{
"git-tree": "a7c12fdbe3c15ad76eced6d157af6e09d49329e5",
"version-string": "2020.06",
"port-version": 8
},
{ {
"git-tree": "8630a6d00fec6c7462af2e03bd0e1946f6812069", "git-tree": "8630a6d00fec6c7462af2e03bd0e1946f6812069",
"version-string": "2020.06", "version-string": "2020.06",

View File

@ -1,5 +1,10 @@
{ {
"versions": [ "versions": [
{
"git-tree": "b1b8f84dd450902aec2b555eb577dfd2a0129592",
"version-string": "2020.06",
"port-version": 15
},
{ {
"git-tree": "9153bafdfb1c8f5ef113947611b1c916a3e472c3", "git-tree": "9153bafdfb1c8f5ef113947611b1c916a3e472c3",
"version-string": "2020.06", "version-string": "2020.06",