CMake: Fix detection of the ltcg feature
When checking the value of CMAKE_INTERPROCEDURAL_OPTIMIZATION_<CONFIG>,
then <CONFIG> must be the upper case configuration name.
Also, we must not unset __qt_ltcg_detected, because the feature
condition evaluation happens way after the feature definition, and
__qt_ltcg_detected was not available anymore there.
This commit amends 96bdcdacbc
.
Fixes: QTBUG-87874
Change-Id: I2b555bd1d7fbc8973e1d9493045c27d61b0d2c1b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
e31c6c7337
commit
e559da3c6a
@ -621,18 +621,19 @@ if(CMAKE_INTERPROCEDURAL_OPTIMIZATION)
|
||||
set(__qt_ltcg_detected TRUE)
|
||||
else()
|
||||
foreach(config ${CMAKE_BUILD_TYPE} ${CMAKE_CONFIGURATION_TYPES})
|
||||
if(CMAKE_INTERPROCEDURAL_OPTIMIZATION_${config})
|
||||
string(TOUPPER "${config}" __qt_uc_config)
|
||||
if(CMAKE_INTERPROCEDURAL_OPTIMIZATION_${__qt_uc_config})
|
||||
set(__qt_ltcg_detected TRUE)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
unset(__qt_uc_config)
|
||||
endif()
|
||||
qt_feature("ltcg"
|
||||
LABEL "Using LTCG"
|
||||
AUTODETECT ON
|
||||
CONDITION __qt_ltcg_detected
|
||||
)
|
||||
unset(__qt_ltcg_detected)
|
||||
qt_feature_config("ltcg" QMAKE_PRIVATE_CONFIG)
|
||||
qt_feature("enable_gdb_index"
|
||||
LABEL "Generating GDB index"
|
||||
|
@ -634,18 +634,19 @@ if(CMAKE_INTERPROCEDURAL_OPTIMIZATION)
|
||||
set(__qt_ltcg_detected TRUE)
|
||||
else()
|
||||
foreach(config ${CMAKE_BUILD_TYPE} ${CMAKE_CONFIGURATION_TYPES})
|
||||
if(CMAKE_INTERPROCEDURAL_OPTIMIZATION_${config})
|
||||
string(TOUPPER "${config}" __qt_uc_config)
|
||||
if(CMAKE_INTERPROCEDURAL_OPTIMIZATION_${__qt_uc_config})
|
||||
set(__qt_ltcg_detected TRUE)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
unset(__qt_uc_config)
|
||||
endif()
|
||||
qt_feature("ltcg"
|
||||
LABEL "Using LTCG"
|
||||
AUTODETECT ON
|
||||
CONDITION __qt_ltcg_detected
|
||||
)
|
||||
unset(__qt_ltcg_detected)
|
||||
qt_feature_config("ltcg" QMAKE_PRIVATE_CONFIG)
|
||||
qt_feature("enable_gdb_index"
|
||||
LABEL "Generating GDB index"
|
||||
|
@ -920,14 +920,15 @@ if(CMAKE_INTERPROCEDURAL_OPTIMIZATION)
|
||||
set(__qt_ltcg_detected TRUE)
|
||||
else()
|
||||
foreach(config ${CMAKE_BUILD_TYPE} ${CMAKE_CONFIGURATION_TYPES})
|
||||
if(CMAKE_INTERPROCEDURAL_OPTIMIZATION_${config})
|
||||
string(TOUPPER "${config}" __qt_uc_config)
|
||||
if(CMAKE_INTERPROCEDURAL_OPTIMIZATION_${__qt_uc_config})
|
||||
set(__qt_ltcg_detected TRUE)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
unset(__qt_uc_config)
|
||||
endif()""",
|
||||
"condition": "__qt_ltcg_detected",
|
||||
"cmakeEpilogue": "unset(__qt_ltcg_detected)"
|
||||
"condition": "__qt_ltcg_detected"
|
||||
},
|
||||
"msvc_mp": None,
|
||||
"simulator_and_device": {"condition": "UIKIT AND NOT QT_UIKIT_SDK"},
|
||||
|
Loading…
Reference in New Issue
Block a user