diff options
-rw-r--r-- | cmake/QtFeature.cmake | 12 | ||||
-rw-r--r-- | cmake/QtProcessConfigureArgs.cmake | 2 |
2 files changed, 11 insertions, 3 deletions
diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake index aa59a14ff9..acf120dfcf 100644 --- a/cmake/QtFeature.cmake +++ b/cmake/QtFeature.cmake @@ -171,14 +171,22 @@ function(qt_evaluate_config_expression resultVar) endfunction() function(qt_feature_set_cache_value resultVar feature emit_if calculated label) - if (DEFINED "FEATURE_${feature}") + # Check if either FEATURE_ or INPUT_ are provided by user. INPUT_ also might be set + # when cmake is run by "configure" script. + if(DEFINED "FEATURE_${feature}") + set(feature_var "FEATURE_${feature}") + elseif(DEFINED "INPUT_${feature}" AND NOT "${INPUT_${feature}}" STREQUAL "undefined") + set(feature_var "INPUT_${feature}") + endif() + + if(NOT "${feature_var}" STREQUAL "") # 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}}") + set(cache "${${feature_var}}") set(booly_values OFF NO FALSE N ON YES TRUE Y) if ((cache IN_LIST booly_values) OR (cache GREATER_EQUAL 0)) set(result "${cache}") diff --git a/cmake/QtProcessConfigureArgs.cmake b/cmake/QtProcessConfigureArgs.cmake index 734384bc5e..6871d560ed 100644 --- a/cmake/QtProcessConfigureArgs.cmake +++ b/cmake/QtProcessConfigureArgs.cmake @@ -705,7 +705,7 @@ translate_list_input(rpaths QT_EXTRA_RPATHS) foreach(feature ${commandline_known_features}) qt_feature_normalize_name("${feature}" cmake_feature) if(${feature} IN_LIST config_inputs) - translate_boolean_input(${feature} FEATURE_${cmake_feature}) + translate_boolean_input(${feature} INPUT_${cmake_feature}) endif() endforeach() |