]> git.lyx.org Git - lyx.git/blobdiff - development/cmake/modules/LyXMacros.cmake
cmake: -Dhelp=1 lists all options
[lyx.git] / development / cmake / modules / LyXMacros.cmake
index e3de37c02ca39330e5e5b5abdbac03f03ceb257c..57c7e7a69d1e64101254b724ea28c1236916d906 100644 (file)
@@ -232,6 +232,11 @@ macro(lyx_qt_resources_file _qrc_name _to_dir _list)
 endmacro(lyx_qt_resources_file)
 
 
+macro(LYX_OPTION_INIT)
+       set(LYX_OPTIONS)
+endmacro()
+
+
 macro(LYX_OPTION _name _description _default _sys)
        set(_msg OFF)
        if(${_sys} MATCHES "GCC")
@@ -248,11 +253,25 @@ macro(LYX_OPTION _name _description _default _sys)
                        set(_msg ON)
                endif()
        endif()
-       if(_msg)
-               string(SUBSTRING "LYX_${_name}                            " 0 25 _var)
-               string(SUBSTRING "${LYX_${_name}}     " 0 4 _val)
-               message(STATUS "${_var}: ${_val}   (${_description})")
-       endif()
+       list(APPEND LYX_OPTIONS LYX_${_name})
+       set(LYX_${_name}_description ${_description})
+       set(LYX_${_name}_show_message ${_msg})
+endmacro()
+
+
+macro(LYX_OPTION_LIST_ALL)
+       foreach(_option ${LYX_OPTIONS})
+               if(${_option}_show_message OR ${ARGV0} STREQUAL "help")
+                       string(SUBSTRING "${_option}                            " 0 25 _var)
+                       if(${_option})
+                               set(_isset ON)
+                       else()
+                               set(_isset OFF)
+                       endif()
+                       string(SUBSTRING "${_isset}     " 0 4 _val)
+                       message(STATUS "${_var}= ${_val}   : ${${_option}_description}")
+               endif()
+       endforeach()
 endmacro()
 
 macro(lyx_add_info_files group)