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)
|
set(__qt_ltcg_detected TRUE)
|
||||||
else()
|
else()
|
||||||
foreach(config ${CMAKE_BUILD_TYPE} ${CMAKE_CONFIGURATION_TYPES})
|
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)
|
set(__qt_ltcg_detected TRUE)
|
||||||
break()
|
break()
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
unset(__qt_uc_config)
|
||||||
endif()
|
endif()
|
||||||
qt_feature("ltcg"
|
qt_feature("ltcg"
|
||||||
LABEL "Using LTCG"
|
LABEL "Using LTCG"
|
||||||
AUTODETECT ON
|
AUTODETECT ON
|
||||||
CONDITION __qt_ltcg_detected
|
CONDITION __qt_ltcg_detected
|
||||||
)
|
)
|
||||||
unset(__qt_ltcg_detected)
|
|
||||||
qt_feature_config("ltcg" QMAKE_PRIVATE_CONFIG)
|
qt_feature_config("ltcg" QMAKE_PRIVATE_CONFIG)
|
||||||
qt_feature("enable_gdb_index"
|
qt_feature("enable_gdb_index"
|
||||||
LABEL "Generating GDB index"
|
LABEL "Generating GDB index"
|
||||||
|
@ -634,18 +634,19 @@ if(CMAKE_INTERPROCEDURAL_OPTIMIZATION)
|
|||||||
set(__qt_ltcg_detected TRUE)
|
set(__qt_ltcg_detected TRUE)
|
||||||
else()
|
else()
|
||||||
foreach(config ${CMAKE_BUILD_TYPE} ${CMAKE_CONFIGURATION_TYPES})
|
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)
|
set(__qt_ltcg_detected TRUE)
|
||||||
break()
|
break()
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
unset(__qt_uc_config)
|
||||||
endif()
|
endif()
|
||||||
qt_feature("ltcg"
|
qt_feature("ltcg"
|
||||||
LABEL "Using LTCG"
|
LABEL "Using LTCG"
|
||||||
AUTODETECT ON
|
AUTODETECT ON
|
||||||
CONDITION __qt_ltcg_detected
|
CONDITION __qt_ltcg_detected
|
||||||
)
|
)
|
||||||
unset(__qt_ltcg_detected)
|
|
||||||
qt_feature_config("ltcg" QMAKE_PRIVATE_CONFIG)
|
qt_feature_config("ltcg" QMAKE_PRIVATE_CONFIG)
|
||||||
qt_feature("enable_gdb_index"
|
qt_feature("enable_gdb_index"
|
||||||
LABEL "Generating GDB index"
|
LABEL "Generating GDB index"
|
||||||
|
@ -920,14 +920,15 @@ if(CMAKE_INTERPROCEDURAL_OPTIMIZATION)
|
|||||||
set(__qt_ltcg_detected TRUE)
|
set(__qt_ltcg_detected TRUE)
|
||||||
else()
|
else()
|
||||||
foreach(config ${CMAKE_BUILD_TYPE} ${CMAKE_CONFIGURATION_TYPES})
|
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)
|
set(__qt_ltcg_detected TRUE)
|
||||||
break()
|
break()
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
unset(__qt_uc_config)
|
||||||
endif()""",
|
endif()""",
|
||||||
"condition": "__qt_ltcg_detected",
|
"condition": "__qt_ltcg_detected"
|
||||||
"cmakeEpilogue": "unset(__qt_ltcg_detected)"
|
|
||||||
},
|
},
|
||||||
"msvc_mp": None,
|
"msvc_mp": None,
|
||||||
"simulator_and_device": {"condition": "UIKIT AND NOT QT_UIKIT_SDK"},
|
"simulator_and_device": {"condition": "UIKIT AND NOT QT_UIKIT_SDK"},
|
||||||
|
Loading…
Reference in New Issue
Block a user