Fix missed feature evaluation errors in report
Add an optional argument to store the report command while feature evaluation-only stage. This is necessary, because according to the actual feature evaluation process, evaluation happens only once and it's impossible to record any command during the evaluation-only stage. Fixes: QTBUG-90319 Change-Id: I215fbe0a28a2661cd2d97d253b2e2c787d295cbd Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Jason McDonald <macadder1@gmail.com>
This commit is contained in:
parent
154573929a
commit
8d76903b97
@ -76,9 +76,15 @@ endfunction()
|
||||
|
||||
# Takes a list of arguments, and saves them to be evaluated at the end of the configuration
|
||||
# phase when the configuration summary is shown.
|
||||
#
|
||||
# RECORD_ON_FEATURE_EVALUATION option allows to record the command even while the feature
|
||||
# evaluation-only stage.
|
||||
function(qt_configure_record_command)
|
||||
cmake_parse_arguments(arg "RECORD_ON_FEATURE_EVALUATION"
|
||||
""
|
||||
"" ${ARGV})
|
||||
# Don't record commands when only evaluating features of a configure.cmake file.
|
||||
if(__QtFeature_only_evaluate_features)
|
||||
if(__QtFeature_only_evaluate_features AND NOT arg_RECORD_ON_FEATURE_EVALUATION)
|
||||
return()
|
||||
endif()
|
||||
|
||||
@ -88,7 +94,7 @@ function(qt_configure_record_command)
|
||||
set(command_count 0)
|
||||
endif()
|
||||
|
||||
set_property(GLOBAL PROPERTY qt_configure_command_${command_count} "${ARGV}")
|
||||
set_property(GLOBAL PROPERTY qt_configure_command_${command_count} "${arg_UNPARSED_ARGUMENTS}")
|
||||
|
||||
math(EXPR command_count "${command_count}+1")
|
||||
set_property(GLOBAL PROPERTY qt_configure_command_count "${command_count}")
|
||||
@ -365,7 +371,7 @@ endfunction()
|
||||
|
||||
function(qt_configure_add_report_error error)
|
||||
message(SEND_ERROR "${error}")
|
||||
qt_configure_add_report_entry(TYPE ERROR MESSAGE "${error}" CONDITION TRUE)
|
||||
qt_configure_add_report_entry(TYPE ERROR MESSAGE "${error}" CONDITION TRUE ${ARGN})
|
||||
endfunction()
|
||||
|
||||
function(qt_configure_process_add_report_entry)
|
||||
|
@ -275,7 +275,7 @@ macro(qt_feature_set_value feature cache condition label conditionExpression)
|
||||
_qt_internal_dump_expression_values(conditionDump "${conditionExpression}")
|
||||
string(JOIN " " conditionString ${conditionExpression})
|
||||
qt_configure_add_report_error("Feature \"${feature}\": Forcing to \"${cache}\" breaks its \
|
||||
condition:\n ${conditionString}\nCondition values dump:\n ${conditionDump}\n")
|
||||
condition:\n ${conditionString}\nCondition values dump:\n ${conditionDump}\n" RECORD_ON_FEATURE_EVALUATION)
|
||||
endif()
|
||||
|
||||
if (DEFINED "QT_FEATURE_${feature}")
|
||||
|
Loading…
Reference in New Issue
Block a user