@@ -3,10 +3,36 @@ macro(DEFINE_OPTION option_name description default_value)
33 if (FLB_MINIMAL)
44 set (temp_value OFF )
55 endif ()
6- if (NOT "${FLB_GROUP_OVERRIDE} " STREQUAL "Inherit" )
6+ string (TOLOWER "${FLB_GROUP_OVERRIDE} " group_override)
7+ if (NOT group_override STREQUAL "inherit" )
78 set (temp_value ${FLB_GROUP_OVERRIDE} )
89 endif ()
10+
11+ if (temp_value)
12+ set (temp_value ON )
13+ else ()
14+ set (temp_value OFF )
15+ endif ()
16+
17+ get_property (option_type CACHE ${option_name} PROPERTY TYPE)
18+ if (option_type STREQUAL "UNINITIALIZED" )
19+ set (_FLB_PINNED_${option_name} ON CACHE INTERNAL "" )
20+ endif ()
21+
922 option (${option_name} "${description} " ${temp_value} )
23+
24+ if (NOT DEFINED _FLB_INHERITED_${option_name} )
25+ set (_FLB_INHERITED_${option_name} "${${option_name} }" CACHE INTERNAL "" )
26+ else ()
27+ if (NOT _FLB_PINNED_${option_name} AND
28+ NOT "${${option_name} }" STREQUAL "${_FLB_INHERITED_${option_name} }" )
29+ set (_FLB_PINNED_${option_name} ON CACHE INTERNAL "" )
30+ endif ()
31+ if (NOT _FLB_PINNED_${option_name} AND "${${option_name} }" STREQUAL "${_FLB_INHERITED_${option_name} }" )
32+ set (${option_name} ${temp_value} CACHE BOOL "${description} " FORCE )
33+ endif ()
34+ set (_FLB_INHERITED_${option_name} ${temp_value} CACHE INTERNAL "" )
35+ endif ()
1036endmacro ()
1137
1238# Add the FLB_MINIMAL option
@@ -22,6 +48,15 @@ set_property(CACHE FLB_ALL_PROCESSORS PROPERTY STRINGS "On;Off;Inherit")
2248set_property (CACHE FLB_ALL_FILTERS PROPERTY STRINGS "On;Off;Inherit" )
2349set_property (CACHE FLB_ALL_OUTPUTS PROPERTY STRINGS "On;Off;Inherit" )
2450
51+ foreach (group_option FLB_ALL_INPUTS FLB_ALL_PROCESSORS FLB_ALL_FILTERS FLB_ALL_OUTPUTS)
52+ string (TOLOWER "${${group_option} }" group_value)
53+ if (NOT group_value MATCHES "^(on|off|inherit)$" )
54+ message (FATAL_ERROR
55+ "${group_option} must be one of On, Off or Inherit "
56+ "(got '${${group_option} }')" )
57+ endif ()
58+ endforeach ()
59+
2560# Inputs (sources, data collectors)
2661# =================================
2762set (FLB_GROUP_OVERRIDE ${FLB_ALL_INPUTS} )
0 commit comments