cmake: Calculate padding for dislaying options automatically.

This commit is contained in:
Ryan C. Gordon
2021-10-05 10:54:06 -04:00
parent 7850d0cf6f
commit 60d59aeb61
2 changed files with 14 additions and 5 deletions

View File

@@ -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()