mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-14 19:08:07 +08:00
Autogen/RCC: Only pass --no-zstd to Qt6
In commit 9e87df4d46
(Autogen/RCC: Disable zstd if it is not supported,
2024-02-08, v3.29.0-rc1~5^2) we added this flag, but it doesn't exist
for Qt 5. It was only introduced with qtbase commit `14546d1816a8`,
which first appeared in Qt 6.
Fixes: #27111
Issue: #25664
This commit is contained in:
@@ -920,21 +920,24 @@ bool cmQtAutoGenInitializer::InitRcc()
|
||||
|
||||
// Disable zstd if it is not supported
|
||||
{
|
||||
std::string const qtFeatureZSTD = "QT_FEATURE_zstd";
|
||||
if (this->GenTarget->Target->GetMakefile()->IsDefinitionSet(
|
||||
qtFeatureZSTD)) {
|
||||
auto const zstdDef =
|
||||
this->GenTarget->Target->GetMakefile()->GetSafeDefinition(
|
||||
qtFeatureZSTD);
|
||||
auto const zstdVal = cmValue(zstdDef);
|
||||
if (zstdVal.IsOff()) {
|
||||
auto const& kw = this->GlobalInitializer->kw();
|
||||
auto rccOptions = this->GenTarget->GetSafeProperty(kw.AUTORCC_OPTIONS);
|
||||
std::string const nozstd = "--no-zstd";
|
||||
if (rccOptions.find(nozstd) == std::string::npos) {
|
||||
rccOptions.append(";" + nozstd + ";");
|
||||
if (this->QtVersion.Major >= 6) {
|
||||
std::string const qtFeatureZSTD = "QT_FEATURE_zstd";
|
||||
if (this->GenTarget->Target->GetMakefile()->IsDefinitionSet(
|
||||
qtFeatureZSTD)) {
|
||||
auto const zstdDef =
|
||||
this->GenTarget->Target->GetMakefile()->GetSafeDefinition(
|
||||
qtFeatureZSTD);
|
||||
auto const zstdVal = cmValue(zstdDef);
|
||||
if (zstdVal.IsOff()) {
|
||||
auto const& kw = this->GlobalInitializer->kw();
|
||||
auto rccOptions =
|
||||
this->GenTarget->GetSafeProperty(kw.AUTORCC_OPTIONS);
|
||||
std::string const nozstd = "--no-zstd";
|
||||
if (rccOptions.find(nozstd) == std::string::npos) {
|
||||
rccOptions.append(";" + nozstd + ";");
|
||||
}
|
||||
this->GenTarget->Target->SetProperty(kw.AUTORCC_OPTIONS, rccOptions);
|
||||
}
|
||||
this->GenTarget->Target->SetProperty(kw.AUTORCC_OPTIONS, rccOptions);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user