Skip to content

Commit

Permalink
configure: Fix error when turning on/off non-emitted features
Browse files Browse the repository at this point in the history
Features that are not emitted in the current
configuration (e.g. plugin-manifests on Linux) should not yield an
error. Instead, print a warning message like Qt5's configure did.

Set insignificant feature to OFF.

Remove the now unneeded emit_if parameter from
qt_feature_set_cache_value.

Fixes: QTBUG-88305
Change-Id: I0f2ce152fca5f08417038c9bd2c07639ff6a3df4
Reviewed-by: Alexey Edelev <[email protected]>
Reviewed-by: Alexandru Croitor <[email protected]>
(cherry picked from commit c4f5762)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
  • Loading branch information
jobor authored and Qt Cherry-pick Bot committed Mar 9, 2021
1 parent e591f14 commit ebd4d0c
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions cmake/QtFeature.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -227,13 +227,8 @@ function(_qt_internal_dump_expression_values expression_dump expression)
set(${expression_dump} "${${expression_dump}}" PARENT_SCOPE)
endfunction()

function(qt_feature_set_cache_value resultVar feature emit_if condition calculated label)
function(qt_feature_set_cache_value resultVar feature condition calculated label)
if (DEFINED "FEATURE_${feature}")
# Must set up the cache
if (NOT (emit_if))
message(FATAL_ERROR "Sanity check failed: FEATURE_${feature} that was not emitted was found in the CMakeCache.")
endif()

# Revisit value:
set(cache "${FEATURE_${feature}}")

Expand All @@ -257,12 +252,8 @@ meet its condition after reconfiguration.")
set("FEATURE_${feature}" "${cache}" CACHE BOOL "${label}" FORCE)
else()
# Initial setup:
if (emit_if)
set("FEATURE_${feature}" "${calculated}" CACHE BOOL "${label}")
set(result "${calculated}")
else()
set(result OFF)
endif()
set("FEATURE_${feature}" "${calculated}" CACHE BOOL "${label}")
set(result "${calculated}")
endif()

set("${resultVar}" "${result}" PARENT_SCOPE)
Expand Down Expand Up @@ -350,8 +341,17 @@ function(qt_evaluate_feature feature)
endif()
endif()

qt_feature_set_cache_value(cache "${feature}" "${emit_if}" "${condition}" "${result}"
"${arg_LABEL}")
if(NOT emit_if AND DEFINED FEATURE_${feature})
set(msg "")
string(APPEND msg
"Feature ${feature} is insignificant in this configuration, "
"ignoring related command line option(s).")
qt_configure_add_report_entry(TYPE WARNING MESSAGE "${msg}")
set(result OFF)
set(FEATURE_${feature} OFF)
endif()

qt_feature_set_cache_value(cache "${feature}" "${condition}" "${result}" "${arg_LABEL}")
qt_feature_set_value("${feature}" "${cache}" "${condition}" "${arg_LABEL}"
"${arg_CONDITION}")

Expand Down

0 comments on commit ebd4d0c

Please sign in to comment.