mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-10-06 04:03:27 +03:00
Autogen: Fix for problematic nested lists separator
In the AutogenInfo.cmake file the separator for nested lists was `@LSEP@` which led to a speed regression because the `@` character triggered an (unsuccessful) expression evaluation. By setting the policy version of the CMake instance in the `_autogen` target to 3.9, the OLD `@` evaluating behavior controlled by policy CMP0053 is disabled. Also the nested lists separator string is changed to `<<<S>>>`, which solves the problem twofold. Closes #17570
This commit is contained in:
1 parent
438ed3bfc1
commit
3ce7eecedc
2 files changed
+4
-1
No files matched your search
@@ -233,7 +233,7 @@ static bool RccListInputsQt5(std::string const& rccCommand,
|
|||||||
|
|
||||||
// - Class definitions
|
// - Class definitions
|
||||||
|
|
||||||
std::string const cmQtAutoGen::listSep = "@LSEP@";
|
std::string const cmQtAutoGen::listSep = "<<<S>>>";
|
||||||
|
|
||||||
std::string const& cmQtAutoGen::GeneratorName(Generator type)
|
std::string const& cmQtAutoGen::GeneratorName(Generator type)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -78,6 +78,9 @@ bool cmQtAutoGenerator::Run(std::string const& infoFile,
|
|||||||
snapshot.GetDirectory().SetCurrentSource(this->InfoDir);
|
snapshot.GetDirectory().SetCurrentSource(this->InfoDir);
|
||||||
|
|
||||||
auto makefile = cm::make_unique<cmMakefile>(&gg, snapshot);
|
auto makefile = cm::make_unique<cmMakefile>(&gg, snapshot);
|
||||||
|
// The OLD/WARN behavior for policy CMP0053 caused a speed regression.
|
||||||
|
// https://gitlab.kitware.com/cmake/cmake/issues/17570
|
||||||
|
makefile->SetPolicyVersion("3.9");
|
||||||
gg.SetCurrentMakefile(makefile.get());
|
gg.SetCurrentMakefile(makefile.get());
|
||||||
|
|
||||||
return this->Process(makefile.get());
|
return this->Process(makefile.get());
|
||||||
|
|||||||
Reference in new issue
Block a user