Skip to content

Commit 7dfd9dd

Browse files
committed
Print plugin enabled/disabled summary during CMake configure
1 parent 6215c39 commit 7dfd9dd

2 files changed

Lines changed: 36 additions & 1 deletion

File tree

cmake/common/advss_helpers.cmake

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,9 @@ else()
157157
set_target_properties(${target} PROPERTIES INSTALL_RPATH
158158
"$ORIGIN:$ORIGIN/..")
159159
endif()
160-
message(STATUS "ADVSS: ENABLED PLUGIN ${target}")
160+
get_filename_component(_plugin_dir_name "${CMAKE_CURRENT_SOURCE_DIR}" NAME)
161+
set_property(GLOBAL APPEND PROPERTY ADVSS_PLUGINS_ENABLED
162+
${_plugin_dir_name})
161163
endfunction()
162164

163165
function(install_advss_plugin_dependency_target target dep)

plugins/CMakeLists.txt

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
macro(add_plugin plugin)
22
option(ENABLE_${plugin}_PLUGIN "Enable the ${plugin} plugin" ON)
33
if(ENABLE_${plugin}_PLUGIN)
4+
set_property(GLOBAL APPEND PROPERTY ADVSS_PLUGINS_PENDING ${plugin})
45
add_subdirectory(${plugin})
6+
else()
7+
set_property(GLOBAL APPEND PROPERTY ADVSS_PLUGINS_DISABLED_BY_OPTION
8+
${plugin})
59
endif()
610
endmacro()
711

@@ -37,3 +41,32 @@ add_plugin(stream-deck)
3741
add_plugin(twitch)
3842
add_plugin(usb)
3943
add_plugin(video)
44+
45+
# ---------------------------------------------------------------------------- #
46+
47+
# Print plugin summary
48+
get_property(_advss_enabled GLOBAL PROPERTY ADVSS_PLUGINS_ENABLED)
49+
get_property(_advss_pending GLOBAL PROPERTY ADVSS_PLUGINS_PENDING)
50+
get_property(_advss_disabled_opt GLOBAL
51+
PROPERTY ADVSS_PLUGINS_DISABLED_BY_OPTION)
52+
53+
set(_advss_disabled_deps)
54+
foreach(_p ${_advss_pending})
55+
if(NOT _p IN_LIST _advss_enabled)
56+
list(APPEND _advss_disabled_deps ${_p})
57+
endif()
58+
endforeach()
59+
60+
message(STATUS "")
61+
message(STATUS "ADVSS Plugin Summary")
62+
message(STATUS "====================")
63+
foreach(_p ${_advss_enabled})
64+
message(STATUS " ENABLED: ${_p}")
65+
endforeach()
66+
foreach(_p ${_advss_disabled_deps})
67+
message(STATUS " DISABLED: ${_p} (missing dependencies)")
68+
endforeach()
69+
foreach(_p ${_advss_disabled_opt})
70+
message(STATUS " DISABLED: ${_p} (ENABLE_${_p}_PLUGIN=OFF)")
71+
endforeach()
72+
message(STATUS "")

0 commit comments

Comments
 (0)