diff --git a/cmake/plugins_options.cmake b/cmake/plugins_options.cmake index aa8bfd05bda..9184c86ca72 100644 --- a/cmake/plugins_options.cmake +++ b/cmake/plugins_options.cmake @@ -3,14 +3,28 @@ macro(DEFINE_OPTION option_name description default_value) if(FLB_MINIMAL) set(temp_value OFF) endif() + if(NOT "${FLB_GROUP_OVERRIDE}" STREQUAL "Inherit") + set(temp_value ${FLB_GROUP_OVERRIDE}) + endif() option(${option_name} "${description}" ${temp_value}) endmacro() # Add the FLB_MINIMAL option option(FLB_MINIMAL "Enable minimal build configuration" No) +# Add options to enable/disable plugins at a group granularity +set(FLB_ALL_INPUTS "Inherit" CACHE STRING "Enable/Disable all Input plugins (On, Off, Inherit)") +set(FLB_ALL_PROCESSORS "Inherit" CACHE STRING "Enable/Disable all Processor plugins (On, Off, Inherit)") +set(FLB_ALL_FILTERS "Inherit" CACHE STRING "Enable/Disable all Filter plugins (On, Off, Inherit)") +set(FLB_ALL_OUTPUTS "Inherit" CACHE STRING "Enable/Disable all Output plugins (On, Off, Inherit)") +set_property(CACHE FLB_ALL_INPUTS PROPERTY STRINGS "On;Off;Inherit") +set_property(CACHE FLB_ALL_PROCESSORS PROPERTY STRINGS "On;Off;Inherit") +set_property(CACHE FLB_ALL_FILTERS PROPERTY STRINGS "On;Off;Inherit") +set_property(CACHE FLB_ALL_OUTPUTS PROPERTY STRINGS "On;Off;Inherit") + # Inputs (sources, data collectors) # ================================= +set(FLB_GROUP_OVERRIDE ${FLB_ALL_INPUTS}) DEFINE_OPTION(FLB_IN_BLOB "Enable Blob input plugin" ON) DEFINE_OPTION(FLB_IN_CALYPTIA_FLEET "Enable Calyptia Fleet input plugin" ON) DEFINE_OPTION(FLB_IN_COLLECTD "Enable Collectd input plugin" ON) @@ -70,6 +84,7 @@ DEFINE_OPTION(FLB_IN_EBPF "Enable Linux eBPF input plugin" # Processors # ========== +set(FLB_GROUP_OVERRIDE ${FLB_ALL_PROCESSORS}) DEFINE_OPTION(FLB_PROCESSOR_CONTENT_MODIFIER "Enable content modifier processor" ON) DEFINE_OPTION(FLB_PROCESSOR_CUMULATIVE_TO_DELTA "Enable cumulative to delta metrics processor" ON) DEFINE_OPTION(FLB_PROCESSOR_LABELS "Enable metrics label manipulation processor" ON) @@ -81,6 +96,7 @@ DEFINE_OPTION(FLB_PROCESSOR_TDA "Enable TDA processor" # Filters # ======= +set(FLB_GROUP_OVERRIDE ${FLB_ALL_FILTERS}) DEFINE_OPTION(FLB_FILTER_ALTER_SIZE "Enable alter_size filter" ON) DEFINE_OPTION(FLB_FILTER_AWS "Enable aws filter" ON) DEFINE_OPTION(FLB_FILTER_CHECKLIST "Enable checklist filter" ON) @@ -108,6 +124,7 @@ DEFINE_OPTION(FLB_FILTER_WASM "Enable WASM filter" # Outputs (destinations) # ====================== +set(FLB_GROUP_OVERRIDE ${FLB_ALL_OUTPUTS}) DEFINE_OPTION(FLB_OUT_AZURE "Enable Azure output plugin" ON) DEFINE_OPTION(FLB_OUT_AZURE_BLOB "Enable Azure output plugin" ON) DEFINE_OPTION(FLB_OUT_AZURE_KUSTO "Enable Azure Kusto output plugin" ON) @@ -156,3 +173,5 @@ DEFINE_OPTION(FLB_OUT_TCP "Enable TCP output plugin" DEFINE_OPTION(FLB_OUT_UDP "Enable UDP output plugin" ON) DEFINE_OPTION(FLB_OUT_VIVO_EXPORTER "Enable Vivo exporter output plugin" ON) DEFINE_OPTION(FLB_OUT_WEBSOCKET "Enable Websocket output plugin" ON) + +unset(FLB_GROUP_OVERRIDE)