|
@@ -154,13 +154,19 @@ static bool ListContains(const std::vector<std::string>& list,
|
|
|
return (std::find(list.begin(), list.end(), entry) != list.end());
|
|
return (std::find(list.begin(), list.end(), entry) != list.end());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-static std::string JoinOptions(const std::map<std::string, std::string>& opts)
|
|
|
|
|
|
|
+static std::string JoinOptionsList(const std::vector<std::string>& opts)
|
|
|
|
|
+{
|
|
|
|
|
+ return cmOutputConverter::EscapeForCMake(cmJoin(opts, ";"));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+static std::string JoinOptionsMap(
|
|
|
|
|
+ const std::map<std::string, std::string>& opts)
|
|
|
{
|
|
{
|
|
|
std::string result;
|
|
std::string result;
|
|
|
for (std::map<std::string, std::string>::const_iterator it = opts.begin();
|
|
for (std::map<std::string, std::string>::const_iterator it = opts.begin();
|
|
|
it != opts.end(); ++it) {
|
|
it != opts.end(); ++it) {
|
|
|
if (it != opts.begin()) {
|
|
if (it != opts.begin()) {
|
|
|
- result += "%%%";
|
|
|
|
|
|
|
+ result += "@list_sep@";
|
|
|
}
|
|
}
|
|
|
result += it->first;
|
|
result += it->first;
|
|
|
result += "===";
|
|
result += "===";
|
|
@@ -340,7 +346,8 @@ bool cmQtAutoGenerators::ReadAutogenInfoFile(
|
|
|
this->MocDefinitions);
|
|
this->MocDefinitions);
|
|
|
this->MocInfoIncludes =
|
|
this->MocInfoIncludes =
|
|
|
GetConfigDefinition(makefile, "AM_MOC_INCLUDES", config);
|
|
GetConfigDefinition(makefile, "AM_MOC_INCLUDES", config);
|
|
|
- this->MocInfoOptions = makefile->GetSafeDefinition("AM_MOC_OPTIONS");
|
|
|
|
|
|
|
+ cmSystemTools::ExpandListArgument(
|
|
|
|
|
+ makefile->GetSafeDefinition("AM_MOC_OPTIONS"), this->MocOptions);
|
|
|
|
|
|
|
|
// - Uic
|
|
// - Uic
|
|
|
cmSystemTools::ExpandListArgument(makefile->GetSafeDefinition("AM_SKIP_UIC"),
|
|
cmSystemTools::ExpandListArgument(makefile->GetSafeDefinition("AM_SKIP_UIC"),
|
|
@@ -434,26 +441,25 @@ void cmQtAutoGenerators::SettingsFileRead(cmMakefile* makefile,
|
|
|
// Compose current settings strings
|
|
// Compose current settings strings
|
|
|
if (this->MocEnabled()) {
|
|
if (this->MocEnabled()) {
|
|
|
std::string& str = this->SettingsStringMoc;
|
|
std::string& str = this->SettingsStringMoc;
|
|
|
- str +=
|
|
|
|
|
- cmOutputConverter::EscapeForCMake(cmJoin(this->MocDefinitions, ";"));
|
|
|
|
|
|
|
+ str += JoinOptionsList(this->MocDefinitions);
|
|
|
str += " ~~~ ";
|
|
str += " ~~~ ";
|
|
|
str += this->MocInfoIncludes;
|
|
str += this->MocInfoIncludes;
|
|
|
str += " ~~~ ";
|
|
str += " ~~~ ";
|
|
|
- str += this->MocInfoOptions;
|
|
|
|
|
|
|
+ str += JoinOptionsList(this->MocOptions);
|
|
|
str += " ~~~ ";
|
|
str += " ~~~ ";
|
|
|
str += this->IncludeProjectDirsBefore ? "TRUE" : "FALSE";
|
|
str += this->IncludeProjectDirsBefore ? "TRUE" : "FALSE";
|
|
|
str += " ~~~ ";
|
|
str += " ~~~ ";
|
|
|
}
|
|
}
|
|
|
if (this->UicEnabled()) {
|
|
if (this->UicEnabled()) {
|
|
|
std::string& str = this->SettingsStringUic;
|
|
std::string& str = this->SettingsStringUic;
|
|
|
- str += cmJoin(this->UicTargetOptions, "@osep@");
|
|
|
|
|
|
|
+ str += JoinOptionsList(this->UicTargetOptions);
|
|
|
str += " ~~~ ";
|
|
str += " ~~~ ";
|
|
|
- str += JoinOptions(this->UicOptions);
|
|
|
|
|
|
|
+ str += JoinOptionsMap(this->UicOptions);
|
|
|
str += " ~~~ ";
|
|
str += " ~~~ ";
|
|
|
}
|
|
}
|
|
|
if (this->RccEnabled()) {
|
|
if (this->RccEnabled()) {
|
|
|
std::string& str = this->SettingsStringRcc;
|
|
std::string& str = this->SettingsStringRcc;
|
|
|
- str += JoinOptions(this->RccOptions);
|
|
|
|
|
|
|
+ str += JoinOptionsMap(this->RccOptions);
|
|
|
str += " ~~~ ";
|
|
str += " ~~~ ";
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -533,8 +539,6 @@ void cmQtAutoGenerators::Init()
|
|
|
this->ProjectSourceDir,
|
|
this->ProjectSourceDir,
|
|
|
this->ProjectBinaryDir);
|
|
this->ProjectBinaryDir);
|
|
|
|
|
|
|
|
- cmSystemTools::ExpandListArgument(this->MocInfoOptions, this->MocOptions);
|
|
|
|
|
-
|
|
|
|
|
std::vector<std::string> incPaths;
|
|
std::vector<std::string> incPaths;
|
|
|
cmSystemTools::ExpandListArgument(this->MocInfoIncludes, incPaths);
|
|
cmSystemTools::ExpandListArgument(this->MocInfoIncludes, incPaths);
|
|
|
|
|
|