diff --git a/cmake/macros.cmake b/cmake/macros.cmake index 3ee413c52f..2a7723e326 100644 --- a/cmake/macros.cmake +++ b/cmake/macros.cmake @@ -334,6 +334,29 @@ if(APPLE) endif() endif() +function(PrintEnabledBackends _SUBSYS _REGEXP) + get_cmake_property(_ALLVARS VARIABLES) + foreach(_VAR IN LISTS _ALLVARS) + if(_VAR AND _VAR MATCHES "${_REGEXP}") + string(TOLOWER "${CMAKE_MATCH_1}" _LOWERED) + if(NOT _LOWERED MATCHES "available|default|dynamic") # a little hack + if(${_VAR}_DYNAMIC) + list(APPEND _ENABLED_BACKENDS "${_LOWERED}(dynamic)") + else() + list(APPEND _ENABLED_BACKENDS "${_LOWERED}") + endif() + endif() + endif() + endforeach() + + if(_ENABLED_BACKENDS STREQUAL "") + set(_SPACEDOUT "(none)") + else() + string(REPLACE ";" " " _SPACEDOUT "${_ENABLED_BACKENDS}") + endif() + message(STATUS " ${_SUBSYS}: ${_SPACEDOUT}") +endfunction() + function(SDL_PrintSummary) ##### Info output ##### message(STATUS "") @@ -366,6 +389,18 @@ function(SDL_PrintSummary) message(STATUS " Build libraries as Apple Framework: ${SDL_FRAMEWORK}") endif() message(STATUS "") + + message(STATUS "Enabled backends:") + PrintEnabledBackends("Video drivers" "^SDL_VIDEO_DRIVER_([A-Z0-9]*)$") + if(SDL_VIDEO_DRIVER_X11) + PrintEnabledBackends("X11 libraries" "^SDL_VIDEO_DRIVER_X11_([A-Z0-9]*)$") + endif() + PrintEnabledBackends("Render drivers" "^SDL_VIDEO_RENDER_([A-Z0-9]*)$") + PrintEnabledBackends("GPU drivers" "^SDL_GPU_([A-Z0-9]*)$") + PrintEnabledBackends("Audio drivers" "^SDL_AUDIO_DRIVER_([A-Z0-9]*)$") + PrintEnabledBackends("Joystick drivers" "^SDL_JOYSTICK_([A-Z0-9]*)$") + message(STATUS "") + if(UNIX) message(STATUS "If something was not detected, although the libraries") message(STATUS "were installed, then make sure you have set the")