diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index 0b2c9eeff49..547aaad48ad 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -294,6 +294,15 @@ function(qtc_output_binary_dir varName) endif() endfunction() +function(condition_info varName condition) + if (NOT ${condition}) + set(${varName} "" PARENT_SCOPE) + else() + string(REPLACE ";" " " _contents "${${condition}}") + set(${varName} "with CONDITION ${_contents}" PARENT_SCOPE) + endif() +endfunction() + # # Public API functions # @@ -425,12 +434,9 @@ function(add_qtc_plugin target_name) set(name ${_arg_PLUGIN_NAME}) endif() + condition_info(_extra_text _arg_CONDITION) if (NOT _arg_CONDITION) set(_arg_CONDITION ON) - set(_extra_text "") - else() - string(REPLACE ";" " " _contents "${_arg_CONDITION}") - set(_extra_text "with CONDITION ${_contents}") endif() string(TOUPPER "BUILD_PLUGIN_${target_name}" _build_plugin_var) @@ -602,7 +608,7 @@ endfunction() function(extend_qtc_target target_name) cmake_parse_arguments(_arg "" - "SOURCES_PREFIX" + "SOURCES_PREFIX;FEATURE_INFO" "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC" ${ARGN} ) @@ -611,9 +617,13 @@ function(extend_qtc_target target_name) message(FATAL_ERROR "extend_qtc_target had unparsed arguments") endif() + condition_info(_extra_text _arg_CONDITION) if (NOT _arg_CONDITION) set(_arg_CONDITION ON) endif() + if (_arg_FEATURE_INFO) + add_feature_info(${_arg_FEATURE_INFO} _arg_CONDITION "${_extra_text}") + endif() if (NOT (${_arg_CONDITION})) return() endif() diff --git a/src/plugins/coreplugin/CMakeLists.txt b/src/plugins/coreplugin/CMakeLists.txt index 77836859692..edeadeb1142 100644 --- a/src/plugins/coreplugin/CMakeLists.txt +++ b/src/plugins/coreplugin/CMakeLists.txt @@ -178,6 +178,7 @@ extend_qtc_plugin(Core extend_qtc_plugin(Core CONDITION TARGET Qt5::Script + FEATURE_INFO "Script Locator filter" DEPENDS Qt5::Script DEFINES WITH_JAVASCRIPTFILTER SOURCES diff --git a/src/plugins/help/CMakeLists.txt b/src/plugins/help/CMakeLists.txt index 72c81e789e0..bbac6a91565 100644 --- a/src/plugins/help/CMakeLists.txt +++ b/src/plugins/help/CMakeLists.txt @@ -31,6 +31,7 @@ add_qtc_plugin(Help extend_qtc_plugin(Help CONDITION FWWebKit AND FWAppKit + FEATURE_INFO "Native WebKit help viewer" DEPENDS ${FWWebKit} ${FWAppKit} DEFINES QTC_MAC_NATIVE_HELPVIEWER SOURCES @@ -41,6 +42,7 @@ extend_qtc_plugin(Help find_package(Qt5WebEngineWidgets QUIET) extend_qtc_plugin(Help CONDITION TARGET Qt5::WebEngineWidgets + FEATURE_INFO "QtWebEngine help viewer" DEPENDS Qt5::WebEngineWidgets DEFINES QTC_WEBENGINE_HELPVIEWER SOURCES @@ -51,12 +53,14 @@ extend_qtc_plugin(Help find_package(litehtml QUIET) if (TARGET litehtml) add_subdirectory(qlitehtml) - extend_qtc_plugin(Help - CONDITION TARGET qlitehtml - DEPENDS qlitehtml - DEFINES QTC_LITEHTML_HELPVIEWER - SOURCES - litehtmlhelpviewer.cpp - litehtmlhelpviewer.h - ) endif() + +extend_qtc_plugin(Help + CONDITION TARGET litehtml AND TARGET qlitehtml + FEATURE_INFO "litehtml help viewer" + DEPENDS qlitehtml + DEFINES QTC_LITEHTML_HELPVIEWER + SOURCES + litehtmlhelpviewer.cpp + litehtmlhelpviewer.h +)