diff --git a/CMakeLists.txt b/CMakeLists.txt index 60f6ad600..d4a041b57 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -313,6 +313,8 @@ if (NOT DEFINED SDL_SHARED_ENABLED_BY_DEFAULT) endif() endif() +set(LONGESTOPTIONNAME 0) # set_option and friends will change this. + set(SDL_SUBSYSTEMS Atomic Audio Video Render Events Joystick Haptic Power Threads Timers File Loadso CPUinfo Filesystem Dlopen Sensor Locale) @@ -2533,10 +2535,9 @@ message(STATUS "") message(STATUS "Options:") list(SORT ALLOPTIONS) foreach(_OPT ${ALLOPTIONS}) - # Longest option is SDL_WAYLAND_LIBDECOR_SHARED = 27 characters # Get the padding string(LENGTH ${_OPT} _OPTLEN) - math(EXPR _PADLEN "28 - ${_OPTLEN}") + math(EXPR _PADLEN "(${LONGESTOPTIONNAME} + 1) - ${_OPTLEN}") string(RANDOM LENGTH ${_PADLEN} ALPHABET " " _PADDING) message_tested_option(${_OPT} ${_PADDING}) endforeach() diff --git a/cmake/macros.cmake b/cmake/macros.cmake index 578670b67..090ffa0e4 100644 --- a/cmake/macros.cmake +++ b/cmake/macros.cmake @@ -1,5 +1,13 @@ +macro(ADD_TO_ALLOPTIONS _NEWNAME) + list(APPEND ALLOPTIONS ${_NEWNAME}) + string(LENGTH ${_NEWNAME} _SLEN) + if(${LONGESTOPTIONNAME} LESS ${_SLEN}) + set(LONGESTOPTIONNAME ${_SLEN}) + endif() +endmacro() + macro(SET_OPTION _NAME _DESC) - list(APPEND ALLOPTIONS ${_NAME}) + add_to_alloptions(${_NAME}) if(${ARGC} EQUAL 3) set(_DEFLT ${ARGV2}) else() @@ -9,12 +17,12 @@ macro(SET_OPTION _NAME _DESC) endmacro() macro(DEP_OPTION _NAME _DESC _DEFLT _DEPTEST _FAILDFLT) - list(APPEND ALLOPTIONS ${_NAME}) + add_to_alloptions(${_NAME}) cmake_dependent_option(${_NAME} ${_DESC} ${_DEFLT} ${_DEPTEST} ${_FAILDFLT}) endmacro() macro(OPTION_STRING _NAME _DESC _VALUE) - list(APPEND ALLOPTIONS ${_NAME}) + add_to_alloptions(${_NAME}) set(${_NAME} ${_VALUE} CACHE STRING "${_DESC}") set(HAVE_${_NAME} ${_VALUE}) ENDMACRO()