|
@@ -1,3 +1,20 @@
|
|
|
+
|
|
|
+function(ctk_option_logical_expression_to_message varname logical_expr)
|
|
|
+ set(enabling_msg)
|
|
|
+ foreach(arg ${logical_expr})
|
|
|
+ if(NOT "${${arg}}" STREQUAL "")
|
|
|
+ set(value_as_int 0)
|
|
|
+ if(${${arg}})
|
|
|
+ set(value_as_int 1)
|
|
|
+ endif()
|
|
|
+ set(enabling_msg "${enabling_msg} ${arg}:${value_as_int}")
|
|
|
+ else()
|
|
|
+ set(enabling_msg "${enabling_msg} ${arg}")
|
|
|
+ endif()
|
|
|
+ endforeach()
|
|
|
+ set(${varname} ${enabling_msg} PARENT_SCOPE)
|
|
|
+endfunction()
|
|
|
+
|
|
|
macro(ctk_option option_prefix name doc default)
|
|
|
option(${option_prefix}_${name} ${doc} ${default})
|
|
|
mark_as_advanced(${option_prefix}_${name})
|
|
@@ -12,17 +29,7 @@ macro(ctk_option option_prefix name doc default)
|
|
|
set(${option_prefix}_${name} ON CACHE BOOL ${_doc_string} FORCE)
|
|
|
# Generate user-friendly message
|
|
|
set(enabling_msg)
|
|
|
- foreach(arg ${ARGN})
|
|
|
- if(NOT "${${arg}}" STREQUAL "")
|
|
|
- set(value_as_int 0)
|
|
|
- if(${${arg}})
|
|
|
- set(value_as_int 1)
|
|
|
- endif()
|
|
|
- set(enabling_msg "${enabling_msg} ${arg}:${value_as_int}")
|
|
|
- else()
|
|
|
- set(enabling_msg "${enabling_msg} ${arg}")
|
|
|
- endif()
|
|
|
- endforeach()
|
|
|
+ ctk_option_logical_expression_to_message(enabling_msg "${ARGN}")
|
|
|
message("Enabling [${option_prefix}_${name}] because of [${enabling_msg}] evaluates to True")
|
|
|
endif()
|
|
|
endif()
|