diff options
Diffstat (limited to 'Source/cmQtAutoGenInitializer.cxx')
-rw-r--r-- | Source/cmQtAutoGenInitializer.cxx | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/Source/cmQtAutoGenInitializer.cxx b/Source/cmQtAutoGenInitializer.cxx index bac3f5b..62d7ffb 100644 --- a/Source/cmQtAutoGenInitializer.cxx +++ b/Source/cmQtAutoGenInitializer.cxx @@ -1168,7 +1168,8 @@ bool cmQtAutoGenInitializer::InitAutogenTarget() if (this->Moc.Enabled) { this->AddGeneratedSource(this->Moc.CompilationFile, this->Moc, true); if (useNinjaDepfile) { - if (this->MultiConfig) { + if (this->MultiConfig && + !this->Makefile->GetSafeDefinition("CMAKE_CROSS_CONFIGS").empty()) { // Make all mocs_compilation_<CONFIG>.cpp files byproducts of the // ${target}_autogen/timestamp custom command. // We cannot just use Moc.CompilationFileGenex here, because that @@ -1215,10 +1216,23 @@ bool cmQtAutoGenInitializer::InitAutogenTarget() this->GlobalGen->GetQtAutoGenConfigs(configs); bool constexpr stdPipesUTF8 = true; cmCustomCommandLines commandLines; - for (auto const& config : configs) { + if (this->Makefile->GetSafeDefinition("CMAKE_CROSS_CONFIGS").empty()) { + std::string autugenInfoFileconfig; + if (this->MultiConfig) { + autugenInfoFileconfig = "$<CONFIG>"; + } else { + autugenInfoFileconfig = configs[0]; + } commandLines.push_back(cmMakeCommandLine( { cmSystemTools::GetCMakeCommand(), "-E", "cmake_autogen", - this->AutogenTarget.InfoFile, config })); + this->AutogenTarget.InfoFile, autugenInfoFileconfig })); + + } else { + for (auto const& config : configs) { + commandLines.push_back(cmMakeCommandLine( + { cmSystemTools::GetCMakeCommand(), "-E", "cmake_autogen", + this->AutogenTarget.InfoFile, config })); + } } // Use PRE_BUILD on demand |