summaryrefslogtreecommitdiff
path: root/Source/cmQtAutoGenerator.cxx
diff options
context:
space:
mode:
authorSebastian Holtermann <sebholt@xwmw.org>2017-12-18 14:36:17 +0100
committerSebastian Holtermann <sebholt@xwmw.org>2017-12-18 14:36:17 +0100
commit3ce7eecedc2686520af930fb86cf5c7a79fd4fb1 (patch)
tree699117734f4dfeff415dee69c0ad26755684880a /Source/cmQtAutoGenerator.cxx
parent438ed3bfc180fbee98fa07af1eb427c6da209b68 (diff)
downloadcmake-3ce7eecedc2686520af930fb86cf5c7a79fd4fb1.tar.gz
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
Diffstat (limited to 'Source/cmQtAutoGenerator.cxx')
-rw-r--r--Source/cmQtAutoGenerator.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/Source/cmQtAutoGenerator.cxx b/Source/cmQtAutoGenerator.cxx
index 52193af3fd..ee0ddbc849 100644
--- a/Source/cmQtAutoGenerator.cxx
+++ b/Source/cmQtAutoGenerator.cxx
@@ -78,6 +78,9 @@ bool cmQtAutoGenerator::Run(std::string const& infoFile,
snapshot.GetDirectory().SetCurrentSource(this->InfoDir);
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());
return this->Process(makefile.get());